クラスを宣言するときに、エンジンやエディタの様々な側面でクラスがどのように動作するかを制御する クラス指定子 を宣言に追加することができます。
| クラス指定子 | 効果 | | --- | --- | |Abstract
| Abstract 指定子によって、このクラスを「抽象基本クラス」として宣言し、このクラスのアクタがレベルに追加されないようにします。これは、それ自体では意味をもたないクラスで役立ちます。例えば、ATriggerBase
基本クラスは抽象ですが、ATriggerBox
サブクラスは抽象ではなく、レベルに配置可能です。
| AdvancedClassDisplay
| AdvancedClassDisplay 指定子は、クラスのすべてのプロパティを、[Details (詳細)] パネルの [詳細セクション] でのみ見えるようにします。個々のプロパティでこれをオーバーライドするには、プロパティで SimpleDisplay
指定子を使います。 |
| AutoCollapseCategories=(Category1, Category2, ...)
| AutoCollapseCategories 指定子は、親クラスの AutoExpandCategories 指定子のリストされているカテゴリの効果を無効にします。 |
| AutoExpandCategories=(Category1, Category2, ...)
| このクラスのオブジェクトに対し、アンリアル エディタのプロパティ ウィンドウで自動的に展開するカテゴリを 1 つ以上指定します。カテゴリなしで宣言された変数を自動展開するには、変数を宣言するクラス名を使用します。 |
| Blueprintable
| ブループリントの作成に使用できる基本クラスとしてこのクラスを公開します。他のものを継承していない場合、初期設定は NotBlueprintable
となります。この指定子はサブクラスで継承されます。 |
| BlueprintType | ブループリントの変数に使用できるタイプとしてクラスを公開します。 |
| ClassGroup=GroupName
| アクタのブラウザで Group View が有効な場合、指定された GroupName` 内でクラスとサブクラスを含みます。 |
CollapseCategories |
このクラスのプロパティは、アンリアル エディタのプロパティ ウィンドウのカテゴリでグループ化されません。この指定子は子クラスに受け継がれますが、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 |
このクラスのオブジェクトは、既存のアセットから参照されるのではなく、アンリアル エディタのプロパティ ウィンドウから作成できることを示しています。デフォルトの挙動は、既存のオブジェクトのみの参照をプロパティ ウィンドウで割り当てることができます。この指定子はすべての子クラスに受け継がれますが、子クラスは NotEditInlineNew 指定子を使ってこの指定子をオーバーライドできます。 |
HideCategories=(Category1, Category2, ...) |
ユーザー エンティティから非表示にするカテゴリを 1 つ以上リスト化します。カテゴリなしで宣言されたプロパティを非表示にするには、変数を宣言するクラス名を使います。この指定子は子クラスに受け継がれます。 |
HideDropdown |
プロパティ ウィンドウのコンボ ボックスにこのクラスが表示されないようにします。 |
HideFunctions=(Category1, Category2, ...) |
指定されたカテゴリのすべての関数をユーザー エンティティから非表示にします。 |
HideFunctions=FunctionName |
名前付き関数をユーザー エンティティで非表示にします。 |
Intrinsic |
クラスは直接 C++ で宣言され、 UnrealHeaderTool はボイラープレートを生成しないことを示します。新規のクラスにこの指定子を使用しないでください。 |
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 |
ブループリント関数ライブラリでのみ有効です。この指定子は Animation ブループリントのノンゲーム スレッドでこのクラスの関数を呼び出し可能とマーク付けします。 |
ChildCannotTick |
Actor クラスと Component クラスで使用されます。ネイティブ クラスがティックできない場合、このアクタまたはコンポーネントを元にしてブループリントが生成したクラスは、bCanBlueprintsTickByDefault が true であっても決してティックできません。 |
ChildCanTick |
Actor クラスと Component クラスで使用されます。ネイティブ クラスがティックできない場合、bCanBlueprintsTickByDefault が false であっても、このアクタまたはコンポーネントを元にしたブループリントが生成したクラスでは、bCanEverTick がオーバーライドされます。 |
DeprecatedNode |
ビヘイビア ツリー ノードで、クラスが非推奨であることを示し、コンパイル時に警告が表示されます。 |
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, .." |
Blueprint Function Library クラスが使用し、リストに名前があるクラスに使用を制限します。 |
ShortToolTip="Short tooltip" |
親クラスのピッカー ダイアログなどフル ツールチップでは長すぎる場合に短いツールチップを使います。 |
ShowWorldContextPin |
このクラスが所有するグラフに配置されたブループリント ノードが、ワールド コンテキストのピンを通常は非表示であっても表示しなければならないことを示します。このクラスのオブジェクトはワールド コンテキストとして使うことはできないからです。 |
UsesHierarchy |
クラスが階層データを使うことを示します。[Details (詳細)] パネルで階層編集機能をインスタンス化するために使用されます。 |
ToolTip="Hand-written tooltip" |
コード コメントから自動的に生成されたツールチップをオーバーライドします。 |