クラス指定子

エンジンおよびエディタの様々な側面でクラスがどのように動作するかを指定する、UClasses の宣言時に使用するキーワード

Windows
MacOS
Linux

クラスを宣言するときに、エンジンやエディタの様々な側面でクラスがどのように動作するかを制御する クラス指定子 を宣言に追加することができます。

クラス指定子

効果

Abstract

Abstract 指定子によって、このクラスを「抽象基本クラス」として宣言し、このクラスのアクタがレベルに追加されないようにします。これは、それ自体では意味をもたないクラスで役立ちます。例えば、ATriggerBase 基本クラスは抽象ですが、ATriggerBox サブクラスは抽象ではなく、レベルに配置可能です。

AdvancedClassDisplay

AdvancedClassDisplay 指定子は、クラスのすべてのプロパティを、[Details (詳細)] パネルの Advanced Sections でのみ見えるようにします。個々のプロパティでこれをオーバーライドするには、プロパティで 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 ノードを使用するクラスのオブジェクトをスポーンしないでください。この指定子は、アクタでも Actor コンポーネントでもない Bluprint 型クラスの場合に限り、有用です。

ExposedAsyncProxy

Async Task ノードでこのクラスのプロキシ オブジェクトを公開します。

IgnoreCategoryKeywordsInSubclasses

クラスの最初のサブクラスが継承されるすべての ShowCategoriesHideCategories の指定子を無視するようにします。

IsBlueprintBase="true/false"

このクラスがブループリントを作成するために使用可能 (または使用不可) の基本クラスであることを示します。 UCLASS の指定子、 BlueprintableNotBlueprintable と同様です。

KismetHideOverrides="Event1, Event2, .."

オーバーライドできないブループリントのイベント リストです。

ProhibitedInterfaces="Interface1, Interface2, .."

クラスと互換性がないインターフェースのリストです。

RestrictedToClasses="Class1, Class2, .."

Blueprint Function Library クラスが使用し、リストに名前があるクラスに使用を制限します。

ShortToolTip="Short tooltip"

親クラスのピッカー ダイアログなどフル ツールチップでは長すぎる場合に短いツールチップを使います。

ShowWorldContextPin

このクラスが所有するグラフに配置されたブループリント ノードが、ワールド コンテキストのピンを通常は非表示であっても表示しなければならないことを示します。このクラスのオブジェクトはワールド コンテキストとして使うことはできないからです。

UsesHierarchy

クラスが階層データを使うことを示します。[Details (詳細)] パネルで階層編集機能をインスタンス化するために使用されます。

ToolTip="Hand-written tooltip"

コード コメントから自動的に生成されたツールチップをオーバーライドします。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback