TSharedPtr, TWeakPtr, and TUniquePtr for non-UObject dataUnreal has two entirely separate ownership systems, and they must never be mixed. UObjects are