variable:
TWeakObjectPtr<AActor> Foo;
Нужно ли ее оборачивать UPROPERTY для GC?
UPROPERTY()
TWeakObjectPtr<AActor> Foo;
Просто для обычных поинтеров на объекты это обязательно, а вот для вик я хз, GC вроде не должен знать про этот поинтер, хотя он и занулится. В общем нужны разъяснения)
Upd:
Гугл привел к этому:
You can think of it is a such way:
1. It is weak reference field, so it is not blocking GC
2. It is UPROPERTY, so UE know something about this field. It knows that this struct contains this field and calculate size of struct with paying attention to it. Also UE adds special methods and registers all such UPROPERTies for this struct class
Нет, на Tweak не нужно, он для того и нужен чтобы избегать циклических ссылок
В общем UPROPERTY и TWeakObjectPtr валидная штука
ага
Зависит от того, что ты хочешь сделать. Если нужно в BP - оборачивай. Не нужно - не оборачивай. WeakPtr в BP поддерживаются.
Тут дело ведь не только "если хочу в BP". А как же сериализация и рефлекшн система? Без UPROPERTY этого ничего не будет
Обсуждают сегодня