на счет умных указателей для UObject, это ведь удобно как-никак, иначе уничтоженные uproperty обьекты не сразу ведь выгружаются с памяти, а в upropety массиве некоторое время продолжает храниться "мусор", элемент которого не скоро еще обнулится, приходится вручную затирать самому