АнонсБлок 2 - Object Model и GCКурс: Тестируется

Почему Unreal удаляет твои объекты

UObject, GC, UPROPERTY, ownership и почему pointer внезапно становится проблемой.

Главная боль

Все стало nullptr спустя 30 секунд

Главная мысль

Если не понимать ownership - проект начнет ломаться случайным образом.

Главная боль

Все стало 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 - проект начнет ломаться случайным образом.

Бейдж Unreal Authorized Instructor используется по лицензии Epic Games. Absolute Academy — независимый авторский проект. Авторизация инструктора не означает, что Epic Games одобряет или спонсирует Академию и её учебные материалы, либо что Академия аффилирована с Epic Games.

Мой учебный код можно свободно использовать в своих проектах. Упоминание автора — по желанию. Условия и лицензия 0BSD