TSharedとUObjectのGCについて

お世話になっております。

UE4のUObjectがGCに回収されないためにTSharedPtrが使用できるのかどうか
ご教示いただけないでしょうか。

m_Object = MakeShareable(NewObject());

こう書いた場合、m_Objectという変数はUPROPERTY()を付けず、UObjectを継承『しない』クラスの
メンバー変数に保持されていてもGCに回収されずにすむでしょうか。
それともTSharedPtrはstd::shared_ptrをただ書き直しただけで、UE4に搭載されているGCとは
何も関係がいないかというのがよくわかっておらず。

お忙しいところ大変申し訳ありません
以上よろしくお願いします。

お世話になっております。

はい。UObjectによるGCのシステムに関してTSharedPtrは無関係のため、GC回収されないためには、UProperyをつけたりAddToRootをしたりAddReferencedObjectsなどによって参照関係を作成する必要がございます。

AnswerHubですが、Epic Staffがご返答している以下が参考になるかと思います。

TSharedPtr(やMakeSharableなど)はUObjectに関して呼び出すものではなく、エンジン内部ではUObjectではないF~などのクラスのために使用しております。

返信遅くなり申し訳ありません。

なるほどそうですよね!勘違いしていなぞのハングを繰り返していました。

回答ありがとうございました!