Ah, I see. Most of what I do revolves around AActors, and/or letting the Engine deal with lifetimes (such as Components). I think I’ve only dealt with a UObject inside some Plugin code, that used the TSharedPtr stuff, and I wasn’t exactly clear on why it was using shared pointers versus plain pointers exactly.
So, if I’m understanding this correctly, storing a pointer to an AActor in a UPROPERTY() handles refcounts automatically, but doing same with a UObject does not? Or am I still missing a piece there?