Indeed, the point I think is that TSubobjectPtr is just a pointer with a fancy name. Adam Davis (Unreal Engine Support) wrote: “We’re getting rid of TSubobjectPtr. It was confusing and weird. Just use normal pointers to your sub-objects now!” Presumably you might use smart pointers also, such as TSharedPtr/TWeakPtr.