C++で以下のようにコンポーネントを生成し、RootComponent に追加すると詳細パネルに何も表示されません。
AMyActor::AMyActor()
{
RootComponent = CreateDefaultSubobject<UBoxComponent>("BoxComponent");
}
このようになった場合は結論から言うと UPROPERTY として保持しておけば表示されるようになります。
では、実際に UBoxComponent を RootComponent として登録してみます。
まずは UBoxComponent のポインタを UPROPERTY として保持します。その際に VisibleAnywhere 指定子を追加しておきます。
public: UPROPERTY(VisibleAnywhere) class UBoxComponent* BoxComponent;
コンストラクタでは上で作成したポインタに渡してから RootComponent に登録します。これで実行すると、
AMyActor::AMyActor()
{
BoxComponent = CreateDefaultSubobject<UBoxComponent>("BoxComponent");
RootComponent = BoxComponent;
}
表示されるようになります!