クラス、インターフェース、構造体、列挙型変数、列挙型変数の値、関数、プロパティを宣言するときに、メタデータ指定子 を宣言に追加して、エンジンやエディタのさまざまな側面でどのようにインタラクタするかを制御することができます。データ構造またはメンバーのそれぞれの型には、固有のメタデータ指定子のリストがあります。
メタデータはエディタのみに存在しています。メタデータにアクセスするゲーム ロジックを書かないでください。
メタデータ指定子を追加するには、meta
という単語を使用します。その後、指定子、そして該当する場合はそれらの値を UCLASS
、UENUM
、UINTERFACE
、USTRUCT
、UFUNCTION
、UPROPERTY
マクロで次のように使用します。
{UCLASS/UENUM/UINTERFACE/USTRUCT/UFUNCTION/UPROPERTY}(SpecifierX, meta=(MetaTag1="Value1", MetaTag2, ..), SpecifierY)
列挙型内の特定の値にメタデータ指定子を追加するには、区切りのカンマ (存在する場合) の前にある値自体に UMETA
タグを追加します。以下のようになります。
UENUM()
enum class EMyEnum : uint8
{
// DefaultValue ツールチップ
DefaultValue = 0 UMETA(MetaTag1="Value1", MetaTag2, ..),
// ValueWithoutMetaSpecifiers ツールチップ
ValueWithoutMetaSpecifiers,
// ValueWithMetaSpecifiers ツールチップ
ValueWithMetaSpecifiers UMETA((MetaTag1="Value1", MetaTag2, ..),
// FinalValue ツールチップ
FinalValue (MetaTag1="Value1", MetaTag2, ..)
};
クラス メタデータ指定子
クラスは以下のメタタグ指定子を使用することができます。
クラス メタタグ | 効果 |
---|---|
BlueprintSpawnableComponent |
存在する場合、コンポーネント クラスはブループリントによってスポーンできます。 |
BlueprintThreadSafe |
ブループリント関数ライブラリでのみ有効です。この指定子は、このクラスの関数をアニメーション ブループリントの非ゲーム スレッドで呼び出し可能としてマークします。 |
ChildCannotTick |
Actor クラスと Component クラスに使用されます。ネイティブ クラスがティックできない場合、bCanBlueprintsTickByDefault が true であっても、このアクタまたはコンポーネントに基づいてブループリントで生成されたクラスはティックできません。 |
ChildCanTick |
Actor クラスと Component クラスに使用されます。ネイティブ クラスがチェックできない場合、このアクタまたはコンポーネントに基づいてブループリントで生成されたクラスでは、bCanBlueprintsTickByDefault が false であったとしても bCanEverTick フラグがオーバーライドされる可能性があります。 |
DeprecatedNode |
behavior tree ノードで、クラスが非推奨であることを示し、コンパイル時に警告が表示されます。 |
DeprecationMessage="Message Text" |
このメタデータを持つ非推奨クラスには、コンパイル時にブループリント スクリプトが生成する標準の非推奨警告とともにこのテキストが含まれます。 |
DisplayName="Blueprint Node Name" |
ブループリント スクリプト内のこのノードの名前は、コードによって生成された名前ではなく、ここで指定された値に置き換えられます。 |
DontUseGenericSpawnObject |
ブループリント スクリプトで Generic Create Object ノードを使用してクラスのオブジェクトをスポーンしないでください。この指定子は、アクタでもアクタ コンポーネントでもないブループリント タイプのクラスにのみ適用されます。 |
ExposedAsyncProxy |
このクラスのプロキシ オブジェクトを Async Task ノードで公開します。 |
IgnoreCategoryKeywordsInSubclasses |
これを使用すると、クラスの最初のサブクラスが継承されたすべての ShowCategories 指定子、HideCategories 指定子を無視するようになります。 |
IsBlueprintBase="true/false" |
このクラスが、Blueprintable または NotBlueprintable 指定子と同様に、ブループリントを作成するための許容可能な基本クラスである (または基本クラスでない) ことを示します。 |
KismetHideOverrides="Event1, Event2, .." |
オーバーライドが許可されていないブループリント イベントのリスト。 |
ProhibitedInterfaces="Interface1, Interface2, .." |
クラスと互換性のないインターフェースを一覧表示します。 |
RestrictedToClasses="Class1, Class2, .." |
ブループリント関数ライブラリ クラスでは、これを使用してリストに指定されたクラスのみの使用を制限できます。 |
ShortToolTip="Short tooltip" |
親クラス ピッカー ダイアログなど、完全なツールチップではコンテンツが長すぎる場合に使用する短いツール ヒントです。 |
ShowWorldContextPin |
このクラスが所有するグラフ内に配置されたブループリント ノードが、通常は非表示であってもワールド コンテキスト ピンを表示する必要があることを示します。このクラスのオブジェクトは、ワールド コンテキストとして使用できないためです。 |
UsesHierarchy |
クラスが階層データを使用していることを示します。[Details (詳細)] パネルで階層編集機能をインスタンス化するために使用されます。 |
ToolTip="Hand-written tooltip" |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |
ScriptName="DisplayName" |
このクラス、プロパティ、または関数をスクリプト言語にエクスポートするときに使用する名前。非推奨の名前を、セミコロンで区切った追加のエントリとして含めることができます。 |
列挙型変数のメタデータ指定子
列挙型は以下のメタデータ指定子を使用することができます。
列挙型メタタグ | 効果 |
---|---|
Bitflags |
この列挙型が、Bitmask メタデータ指定子で設定された整数の UPROPERTY 変数によってフラグとして使用できることを示します。 |
Experimental |
この型を実験的かつサポートされていないものとしてラベル付けします。 |
ToolTip="Hand-written tooltip" |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |
列挙型変数内の個々の値には独自のメタデータ指定子があります。これらは、最上位のキーワード UMETA
を使用し、変更する値の前ではなく後に指定されるという点で、他のメタデータ指定子とは少し異なります。
列挙値 UMeta タグ | 効果 |
---|---|
DisplayName="Enumerated Value Name" |
この値の名前は、コードによって生成された名前ではなく、ここで提供されるテキストになります。 |
Hidden |
この値はエディタには表示されません。 |
ToolTip="Hand-written tooltip." |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |
インターフェース メタデータ指定子
インターフェースでは次のメタタグ指定子を使用できます。
ブループリント イベントが実装可能なインターフェースでのみ許可されていることを確認してください。内部専用機能が許可されています。 このインターフェースにブループリントで定義されていないブループリント呼び出し可能な関数が含まれている場合は、ネイティブに実装する必要があることを確認してください。
インターフェース メタタグ | 効果 |
---|---|
CannotImplementInterfaceInBlueprint |
このインターフェースには、内部専用関数以外の BlueprintImplementableEvent または BlueprintNativeEvent 関数を含めることはできません。ブループリントで定義されていないブループリント呼び出し可能な関数が含まれている場合、それらの関数はネイティブ コードで実装する必要があります。 |
構造体メタデータ指定子
構造体では次のメタタグ指定子を使用できます。
構造体メタタグ | 効果 |
---|---|
HasNativeBreak="Module.Class.Function" |
この構造体にカスタム Break Struct ノードがあることを示します。モジュール、クラス、関数名を指定する必要があります。 |
HasNativeMake="Module.Class.Function" |
この構造体にカスタム Make Struct ノードがあることを示します。モジュール、クラス、関数名を指定する必要があります。 |
HiddenByDefault |
Make Struct ノードと Break Struct ノードのピンは、デフォルトでは非表示になっています。 |
ShortToolTip="Short tooltip" |
親クラス ピッカー ダイアログなど、完全なツールチップではコンテンツが長すぎる場合に使用する短いツール ヒントです。 |
ToolTip="Hand-written tooltip |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |
関数メタデータ指定子
関数メタタグ | 効果 |
---|---|
AdvancedDisplay="Parameter1, Parameter2, .." |
カンマで区切られたパラメータのリストが、高度なピンとして表示されます (UI の拡張が必要です)。 |
AdvancedDisplay=N |
N を数字に置き換え、N 番目以降のすべてのパラメータが高度なピンとして表示されます (UI の拡張が必要です)。たとえば、「AdvancedDisplay=2」は、最初の 2 つのパラメータを除くすべてのパラメータを advanced としてマークします。 |
ArrayParm="Parameter1, Parameter2, .." |
BlueprintCallable 関数が Call Array Function ノードを使用し、リストされたパラメータをワイルドカード配列プロパティとして扱う必要があることを示します。 |
ArrayTypeDependentParams="Parameter" |
ArrayParm が使用される場合、この指定子は ArrayParm リスト内のすべてのパラメータの型を決定する 1 つのパラメータを示します。 |
AutoCreateRefTerm="Parameter1, Parameter2, .." |
リストされているパラメータは参照によって渡されますが、ピンが未接続のままになっている場合は、デフォルトが自動的に作成されます。これはブループリントの便利な機能であり、配列ピンでよく使用されます。 |
BlueprintAutocast |
ブループリント関数ライブラリの静的な BlueprintPure 関数によってのみ使用されます。関数の戻り値の型と最初のパラメータの型に対して、キャスト ノードが自動的に追加されます。 |
BlueprintInternalUseOnly |
この関数は、別の関数またはノードを実装するために使用される内部実装の詳細です。ブループリント グラフでは直接公開されることはありません。 |
BlueprintProtected |
この関数は、ブループリント内の所有オブジェクトに対してのみ呼び出すことができます。別のインスタンスでは呼び出すことができません。 |
CallableWithoutWorldContext |
クラスが GetWorld 関数を実装していなくても関数を呼び出すことができることを示す、WorldContext ピンを持つ BlueprintCallable 関数に使用されます。 |
CommutativeAssociativeBinaryOperator |
BlueprintCallable 関数が Commutative Associative Binary ノードを使用する必要があることを示します。このノードにはピン名がありませんが、追加の入力ピンを作成する [Add Pin (ピンの追加)] ボタンがあります。 |
CompactNodeTitle="Name" |
BlueprintCallable 関数をコンパクト表示モードで表示することを示し、そのモードで表示する名前を提供します。 |
CustomStructureParam="Parameter1, Parameter2, .." |
リストされているパラメータはすべてワイルドカードとして扱われます。この指定子には、 カスタム |
DefaultToSelf |
BlueprintCallable 関数の場合、これは、オブジェクト プロパティの名前付きデフォルト値がノードの self コンテキストである必要があることを示します。 |
DeprecatedFunction |
この関数へのブループリント参照が発生すると、関数が非推奨であることをユーザーに通知するコンパイル警告が発生します。DeprecationMessage メタデータ指定子を使用して、非推奨の警告メッセージに追加することができます (たとえば、非推奨の関数を置き換える手順を提供するなど)。 |
DeprecationMessage ="Message Text" |
関数が非推奨の場合、それを使用するブループリントをコンパイルしようとしたときに、このメッセージが標準の非推奨警告に追加されます。 |
DeterminesOutputType="Parameter" |
関数の戻り値の型は、名前付きパラメータ ピンに接続されている入力に合わせて動的に変更されます。パラメータは TSubClassOf<X> または TSoftObjectPtr<X> のようなテンプレート化された型である必要があります。ここで、関数の元の戻り値の型は X* 、または TArray<X*> などの値の型として X* を持つコンテナです。 |
DevelopmentOnly |
DevelopmentOnly としてマークされた関数は Development モードでのみ実行されます。これは、シッピングされた製品には存在しないことが予想されるデバッグ出力などの機能に対して役立ちます。 |
DisplayName="Blueprint Node Name" |
ブループリント内のこのノードの名前は、コードによって生成された名前ではなく、ここで指定された値に置き換えられます。 |
ExpandEnumAsExecs="Parameter" |
BlueprintCallable 関数で、パラメータによって使用される enum のエントリごとに 1 つの入力実行ピンを作成する必要があることを示します。パラメータは、UENUM タグを持つ列挙型である必要があります。 |
ForceAsFunction |
イベントからの戻り値のない BlueprintImplementableEvent を関数に変更します。 |
HidePin="Parameter" |
BlueprintCallable 関数で、パラメータ ピンをユーザーのビューから非表示にする必要があることを示します。この方法では、機能ごとに 1 つのピンのみを非表示にできます。 |
HideSelfPin |
関数が呼び出されるオブジェクトを示す「self」ピンを非表示にします。呼び出し元のブループリントのクラスと互換性のある BlueprintPure 関数では、「self」ピンは自動的に非表示になります。HideSelfPin メタタグを頻繁に使用する関数では、DefaultToSelf 指定子も使用されます。 |
InternalUseParam="Parameter" |
HidePin と同様に、これは名前付きパラメータのピンをユーザーのビューから非表示にし、関数ごとに 1 つのパラメータにのみ使用できます。 |
KeyWords="Set Of Keywords" |
ブループリント グラフで関数を呼び出すノードを配置するときなど、この関数を検索するときに使用できるキーワードのセットを指定します。 |
Latent |
潜在的なアクションを示します。潜在的なアクションには FLatentActionInfo 型のパラメータが 1 つあり、このパラメータは LatentInfo 指定子によって名前が付けられます。 |
LatentInfo="Parameter" |
Latent BlueprintCallable 関数で、どのパラメータが LatentInfo パラメータであるかを示します。 |
MaterialParameterCollectionFunction |
BlueprintCallable 関数の場合、マテリアル オーバーライド ノードを使用する必要があることを示します。 |
NativeBreakFunc |
BlueprintCallable 関数の場合、関数が標準の Break Struct ノードと同じように表示されることを示します。 |
NotBlueprintThreadSafe |
ブループリント関数ライブラリでのみ有効です。この関数は、所有クラスの一般的な BlueprintThreadSafe メタデータの例外として扱われます。 |
ShortToolTip="Short tooltip" |
親クラス ピッカー ダイアログなど、完全なツールチップではコンテンツが長すぎる場合に使用する短いツール ヒントです。 |
ToolTip="Hand-written tooltip |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |
UnsafeDuringActorConstruction |
アクタの構築中、この関数の呼び出しは安全ではありません。 |
WorldContext="Parameter" |
BlueprintCallable 関数によって使用され、操作が行われるワールドを決定するパラメータを示します。 |
ScriptName="DisplayName" |
このクラス、プロパティ、または関数をスクリプト言語にエクスポートするときに使用する名前。非推奨の名前を、セミコロンで区切った追加のエントリとして含めることができます。 |
プロパティ メタデータ指定子
プロパティ メタタグ | 効果 |
---|---|
AllowAbstract="true/false" |
Subclass および SoftClass プロパティに使用されます。抽象クラス型をクラス ピッカーに表示するかどうかを示します。 |
AllowedClasses="Class1, Class2, .." |
FSoftObjectPath プロパティに使用されます。アセット ピッカーに表示されるアセットのクラス型を示す、カンマ区切りのリスト。 |
AllowPreserveRatio |
FVector プロパティに使用されます。[Details] パネルにこのプロパティを表示するときに、比率ロックが追加されます。 |
ArrayClamp="ArrayProperty" |
整数プロパティに使用されます。UI に入力できる有効な値を、「0」から指定された配列プロパティの長さまでの範囲にクランプします。 |
AssetBundles |
SoftObjectPtr または SoftObjectPath プロパティに使用されます。この参照がどのバンドルの一部であるかを指定するための、プライマリ データ アセット内で使用されるバンドル名のリスト。 |
BlueprintBaseOnly |
Subclass および SoftClass プロパティに使用されます。クラス ピッカーにブループリント クラスのみを表示するかどうかを示します。 |
BlueprintCompilerGeneratedDefaults |
プロパティのデフォルトはブループリント コンパイラによって生成されます。コンパイル後に CopyPropertiesForUnrelatedObjects 関数が呼び出されたときにはコピーされません。 |
ClampMin="N" |
浮動小数点および整数プロパティに使用されます。プロパティに入力できる最小値 N を指定します。 |
ClampMax="N" |
浮動小数点および整数プロパティに使用されます。プロパティに入力できる最大値 N を指定します。 |
ConfigHierarchyEditable |
このプロパティは、コンフィグ ファイル (.ini ) にシリアル化され、コンフィグ階層内の任意の場所に設定できます。 |
ContentDir |
FDirectoryPath プロパティによって使用されます。「Content 」フォルダ内の Slate スタイルのディレクトリ ピッカーを使用してパスが選択されることを示します。 |
DisplayAfter="PropertyName" |
このプロパティは、両方のプロパティが同じカテゴリにある限り、ソース コード内の順序に関係なく、PropertyName という名前のプロパティの直後にブループリント エディタに表示されます。複数のプロパティの DisplayAfter 値と DisplayPriority 値が同じである場合、それらのプロパティが、ヘッダ ファイルで宣言されている順序で、名前付きプロパティの後に表示されます。 |
DisplayName="Property Name" |
コードによって生成された名前の代わりに、このプロパティに表示される名前。 |
DisplayPriority="N" |
2 つのプロパティが同じ DisplayAfter 値を持つ場合、または同じカテゴリにあり、DisplayAfter メタタグがない場合、このプロパティによって並べ替え順序が決まります。最も優先度の高い値は「1」です。つまり、DisplayPriority 値が「1」のプロパティは、DisplayPriority 値が「2」のプロパティよりも上に表示されます。複数のプロパティが同じ DisplayAfter 値を持つ場合、それらはヘッダ ファイルで宣言されている順序で表示されます。 |
DisplayThumbnail="true" |
プロパティがアセット タイプであり、選択したアセットのサムネイルを表示することを示します。 |
EditCondition="BooleanPropertyName" |
このプロパティの編集が無効かどうかを示すために使用されるブール プロパティに名前を付けます。プロパティ名の前に "!" を付けるとテストが反転します。 |
EditFixedOrder |
配列の要素がドラッグによって並べ替えられないようにします。 |
ExactClass="true" |
AllowedClasses と組み合わせて FSoftObjectPath プロパティに使用されます。AllowedClasses で指定された正確なクラスのみが使用可能か、またはサブクラスも有効かを示します。 |
ExposeFunctionCategories="Category1, Category2, .." |
ブループリント エディタで関数リストをビルドするときに、関数を公開するカテゴリのリストを指定します。 |
ExposeOnSpawn="true" |
このクラス タイプの Spawn Actor ノードでプロパティを公開するかどうかを指定します。 |
FilePathFilter="FileType" |
FFilePath プロパティによって使用されます。ファイル ピッカーに表示するパス フィルタを示します。共通の値には「uasset」や「umap」などがあります。ただし、他にも使える値はあります。 |
GetByRef |
このプロパティの「Get」ブループリント ノードが、値のコピーではなく、プロパティへの const 参照を返すようにします。Sparse Class Data でのみ使用可能です。そして、NoGetter が存在しない場合にのみ使用できます。 |
HideAlphaChannel |
FColor および FLinearColor プロパティに使用されます。詳細にプロパティ ウィジェットを表示する際、Alpha プロパティを非表示にすることを示します。 |
HideViewOptions |
Subclass および SoftClass プロパティに使用されます。クラス ピッカーで表示オプションを変更する機能を非表示にします。 |
InlineEditConditionToggle |
ブール型プロパティは、他のプロパティの編集条件トグルとしてインラインでのみ表示され、独自の行には表示されないことを示します。 |
LongPackageName |
FDirectoryPath プロパティによって使用されます。パスを長いパッケージ名に変換します。 |
MakeEditWidget |
Transform または Rotator プロパティ、あるいは Transform または Rotator の配列に使用されます。プロパティを移動可能なウィジェットとしてビューポートに公開する必要があることを示します。 |
NoGetter |
ブループリント生成で、このプロパティの「get」ノードが生成されないようにします。Sparse Class Data でのみ使用可能です。 |
ScriptName="DisplayName" |
このクラス、プロパティ、または関数をスクリプト言語にエクスポートするときに使用する名前。非推奨の名前を、セミコロンで区切った追加のエントリとして含めることができます。 |