2025-03-10
UE5:WITH_EDITOR と WITH_EDITORONLY_DATA
たとえば、MyProject に Item クラスがあり、このクラスがエディターに表示されるときに、デザイナーからのメモを含むいくつかの追加フィールドを表示したいとします。
それが WITH_EDITORONLY_DATA の目的です。これにより、エディター全体を含めたり、MyProjectEditor モジュールでクラスを再定義したりすることなく、フィールドを追加/非表示にすることができます。
よく分かりませんが、私が見た限りでは、WITH_EDITOR はコードに使用され、WITH_EDITORONLY_DATA はデータ、つまりクラス プロパティなどに使用されます。
WITH_EDITORONLY_DATA のみのブロック内のクラスでプロパティを宣言すると、クッカーはそれを検出してクックしません。ただし、Serialize 関数をオーバーライドした場合は、シリアル化を自分で行うことになります。
以下のように使い分けられているケースが多い。
・UPROPERTY指定されたメンバ変数は#if WITH_EDITORONLY_DATA
で囲む。
・上記のメンバ変数を利用するコード(関数)も同じく#if WITH_EDITORONLY_DATA
で囲む。
・それ以外は#if WITH_EDITOR
で囲む。
データ用、コード用とは一概に言えない。
コメントを送る
コメントはブログオーナーのみ閲覧できます