クラスを宣言するときに、エンジンやエディタのさまざまな側面でクラスがどのように動作するかを制御する クラス指定子 を宣言に追加することができます。
クラス指定子 | 効果 |
---|---|
Abstract |
Abstract 指定子によって、このクラスを「抽象基本クラス」として宣言し、このクラスのアクタがレベルに追加されないようにします。そのクラスだけでは意味をもたないクラスの場合は使用可能です。たとえば、ATriggerBase 基本クラスは抽象ですが、ATriggerBox サブクラスは抽象ではなく、レベルに配置可能です。 |
AdvancedClassDisplay |
AdvancedClassDisplay 指定子は、クラスのすべてのプロパティを、[Details (詳細)] パネル の詳細セクションでのみ見えるようにします。個々のプロパティでこれをオーバーライドするには、プロパティで SimpleDisplay 指定子を使います。 |
AutoCollapseCategories=(Category1, Category2, ...) |
AutoCollapseCategories 指定子は、親クラスの AutoExpandCategories 指定子のリストされているカテゴリの効果を無効にします。 |
AutoExpandCategories=(Category1, Category2, ...) |
このクラスのオブジェクトに対し、Unreal Editor のプロパティ ウィンドウで自動的に展開するカテゴリを 1 つ以上指定します。カテゴリなしで宣言された変数を自動展開するには、変数を宣言するクラス名を使用します。 |
Blueprintable |
ブループリントの作成にこのクラスを許容される基本クラスとして公開します。他のものを継承していない場合、デフォルトは NotBlueprintable となります。この指定子はサブクラスで継承されます。 |
BlueprintType |
このクラスを、ブループリントの変数に使用できる型として公開します。 |
ClassGroup=GroupName |
Unreal Editor の アクタのブラウザ に グループ ビュー が有効な場合、指定された GroupName 内でクラスとこのクラスのサブクラスが含まれていることを示します。 |
CollapseCategories |
このクラスのプロパティは、Unreal Editor のプロパティ ウィンドウのカテゴリでグループ化すべきでないことを示します。この指定子は子クラスに反映されますが、DontCollapseCategories 指定子によってオーバーライドすることができます。 |
Config=ConfigName |
このクラスがコンフィギュレーション ファイル (.ini ) 内にデータを格納できることを示しています。config 指定子または globalconfig の指定子で宣言されているクラスのプロパティがあれば、指定子によって、こうしたプロパティを指定されたコンフィギュレーション ファイルに格納します。この指定子はすべての子クラスへ反映され、無効にすることはできませんが、子クラスは config 指定子を再宣言し、別の ConfigName を指定することによって config ファイルを変更することができます。一般的な ConfigName 値は、Engine、Editor、Input、および Game です。 |
Const |
このクラスの全プロパティと関数は const です。また、const としてエクスポートされます。この指定子はサブクラスで継承されます。 |
ConversionRoot |
ルートの変換は、サブクラスの変換を階層の上位にある最初のルート クラスの子クラスのみに制限します。 |
CustomConstructor |
コンストラクタ宣言の自動生成を防ぎます。 |
DefaultToInstanced |
このクラスの全インスタンスは「インスタンス化された」とみなされます。インスタンス化されたクラス (コンポーネント) は構成時に複製されます。この指定子はサブクラスで継承されます。 |
DependsOn=(ClassName1, ClassName2, ...) |
リストされているクラスはすべて、このクラスより前にコンパイルされます。クラス名は同じ (あるいは以前の) パッケージのクラスを指定しなければなりません。1 行の DependsOn 行をカンマで区切って使用したり、クラスごとに別の DependsOn 行を使用したりすることで、複数の依存クラスを指定することができます。コンパイラはクラス内のコンパイル済みのものしか認識しないため、これは他のクラスで宣言された構造体や列挙型変数をクラスで使う場合に重要となります。 |
Deprecated |
このクラスは非推奨とし、クラスのオブジェクトはシリアル化されたときに保存されません。この指定子はサブクラスで継承されます。 |
DontAutoCollapseCategories=(Category, Category, ...) |
親クラスから継承した指定カテゴリに対して、AutoCollapseCategories 指定子を無効にします。 |
DontCollapseCategories |
基本クラスから継承した CollapseCatogories 指定子を無効にします。 |
EditInlineNew |
このクラスのオブジェクトは、既存のアセットから参照されるのではなく、Unreal Editor のプロパティ ウィンドウから作成できることを示します。デフォルトの動作として、既存のオブジェクトのみの参照をプロパティ ウィンドウで割り当てることができます。この指定子はすべての子クラスに反映されますが、子クラスは NotEditInlineNew 指定子を使ってこの指定子をオーバーライドできます。 |
HideCategories=(Category1, Category2, ...) |
ユーザーから完全に非表示にする必要がある 1 つ以上のカテゴリを表示します。カテゴリなしで宣言されたプロパティを非表示にするには、変数を宣言するクラス名を使います。この指定子は子クラスに反映されます。 |
HideDropdown |
プロパティ ウィンドウのコンボ ボックスにこのクラスが表示されないようにします。 |
HideFunctions=(Category1, Category2, ...) |
指定されたカテゴリのすべての関数をユーザーから完全に非表示にします。 |
HideFunctions=FunctionName |
名前付きの関数をユーザーから完全に非表示にします。 |
Intrinsic |
クラスは直接 C++ で宣言され、Unreal Header Tool はボイラープレートを生成しないことを示します。新規のクラスにこの指定子を使用しないでください。 |
MinimalAPI |
他のモジュールで使用するために、クラスの型情報のみをエクスポートさせます。クラスをキャストすることができますが、クラスの関数を呼び出すことはできません (インライン メソッドは除く)。これにより、他のモジュールではアクセスできる関数のすべてを必要としないクラスの場合はすべてをエクスポートせずに済むため、コンパイル時間を短縮できます。 |
NoExport |
このクラスの宣言は、ヘッダ ジェネレータで自動生成された C++ ヘッダ ファイルに含まれてはいけないことを示します。C++ クラス宣言は、別のヘッダ ファイルで手動で定義されなければなりません。ネイティブ クラスのみ有効です。新規のクラスにこの指定子を使用しないでください。 |
NonTransient |
基本クラスから継承した Transient 指定子を無効にします。 |
NotBlueprintable |
このクラスはブループリントを作成するための許容可能な基本クラスではないことを指定します。これはデフォルトであり、サブクラスで継承されます。 |
NotPlaceable |
基本クラスから継承した Placeable 指定子を無効にします。このクラスのオブジェクトはエディタでレベル、UI シーン、ブループリントなどには配置できないことを示します。 |
PerObjectConfig |
このクラスのコンフィギュレーション情報はオブジェクトごとに保存されます。この場合、各オブジェクトは [ObjectName ClassName] の形式でオブジェクトにちなんで名付けられた .ini ファイルのセクションを持ちます。この指定子は子クラスに反映されます。 |
Placeable |
このクラスはエディタで作成可能であり、レベル、UI シーン、ブループリント (クラスのタイプにより異なります) で作成可能であることを示します。このフラグは子クラスに反映されますが、子クラスは NotPlaceable 指定子を使ってこのフラグをオーバーライドできます。 |
ShowCategories=(Category1, Category2, ...) |
指定カテゴリに対して、HideCategories 指定子 (基本クラスから継承) を無効にします。 |
ShowFunctions=(Category1, Category2, ...) |
プロパティ ビューアで設定したカテゴリ内のすべての関数を表示します。 |
ShowFunctions=FunctionName |
プロパティ ビューアに名前付きの関数を表示します。 |
Transient |
このクラスに属するオブジェクトがディスクに保存されることはありません。プレイヤーやウィンドウなど、本質的に非永続的な、一定のネイティブ クラスと併用する場合に役立ちます。この指定子は子クラスに反映されますが、NonTransient 指定子によってオーバーライドすることができます。 |
Within=OuterClassName |
このクラスのオブジェクトは OuterClassName オブジェクトのインスタンス外では存在できません。つまり、このクラスのオブジェクトの作成では、OuterClassName のインスタンスが Outer オブジェクトとして指定されていることが必要です。 |
メタデータ指定子
クラス、インターフェース、構造体、列挙型変数、列挙型変数の値、関数、プロパティを宣言するときに、メタデータ指定子 を宣言に追加して、エンジンやエディタのさまざまな側面でどのようにインタラクタするかを制御することができます。データ構造またはメンバーのそれぞれの型には、固有のメタデータ指定子のリストがあります。
メタデータはエディタのみに存在しています。メタデータにアクセスするゲーム ロジックを書かないでください。
クラスは以下のメタタグ指定子を使用することができます。
クラス メタタグ | 効果 |
---|---|
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" |
このクラス、プロパティ、または関数をスクリプト言語にエクスポートするときに使用する名前。非推奨の名前を、セミコロンで区切った追加のエントリとして含めることができます。 |