Видео 5Блок 2 - Object Model и GC
Почему Unreal удаляет твои объекты
UObject, GC, UPROPERTY, ownership и почему pointer внезапно становится проблемой.
Главная боль
Все стало nullptr спустя 30 секунд
Главная мысль
Если не понимать ownership - проект начнет ломаться случайным образом.
Почему Unreal удаляет твои объекты
Главная боль
Все стало nullptr спустя 30 секунд.
Зачем это существует?
Unreal управляет жизнью UObject через garbage collector. Если объект не достижим через корректную ownership graph, движок имеет право его удалить.
Темы
- UObject
- GC
- UPROPERTY
- Ownership
- Dangling pointers
- IsValid
- WeakObjectPtr
Greybox Arena
- UObject gameplay effects
- Temporary runtime buffs
- Intentional GC fail
Где люди обычно ломаются?
- Хранят UObject pointer без
UPROPERTY - Не понимают, кто владеет runtime-объектом
- Путают
nullptr, pending kill и валидный объект - Используют raw pointer там, где нужен weak reference
Как это выглядит в production?
Production-код явно показывает ownership: через компоненты, actor references, subsystems, UPROPERTY-поля и осознанные weak references.
Главная мысль
Если не понимать ownership - проект начнет ломаться случайным образом.