Is it a good practice to always use TSharedPtr over regular pointer, even when the object is owned by a single parent? I guess it does not really matter but I want to make sure that I understand TSharedPtr properly. From what I understand: the advantage of using a TSharedPtr with a single parent is that there is no need to delete the object, the downside is that it slightly affects performances.
In the case you’ve described you should use TUniquePtr instead of TSharedPtr.