ささみのメモ帳

ゲーム会社で働く、無能プログラマーが自分のためのメモ帳として利用しています。

UEマクロのメモ

UEを利用する上で、よく使っているマクロのメモ書き

UCLASSマクロ

クラスの細かな設定マクロ

汎用タグ

タグ名 内容
ClassGroup=("Category") クラスカテゴリの指定
Blueprintable BPの基礎クラスとして利用可能
BlueprintType BPで利用可能な型
Abstract 抽象化宣言(派生必須アクター)

UFUNCTIONマクロ

関数の細かな設定マクロ

汎用タグ

タグ名 内容
BlueprintCallable BPに公開(実行ピン必須の関数として利用できる)
BlueprintImplementableEvent BPで実装を持つ
BlueprintNativeEvent BP、C++のどちらでも実装を持つ
仮想関数ではなく、virtualなしで宣言する
 
C++での実装関数には{宣言名前}Implementationが自動で生成され、そこに処理を記述する

C++でExecute
{宣言名前}という関数も自動で生成されて、これを利用することでC++、BPどちらの処理も呼び出される
※第一引数にそのイベントを関数の発生主のUObjectポインタが必要です

BPでC++の内容を利用する場合は、該当のEventノードを右クリックしてAdd Call to Parent Functionを選択して表示されるノード(C++の処理実装)をつなげる。
BlueprintPure オブジェクトに影響なくBPで利用可能(実行ピンなしの純粋関数として利用できる)
Category( = “String”) ディテール表示時のカテゴリ(項目)
NetMulticast サーバーでこのタグをつけた関数を実行した場合、サーバーにつながっている全てのクライアントの同一の関数も同時に実行する。
Reliable 通信を確実なものにする。途中で送信失敗をしても、再送をする。
Client サーバーのみでの実行関数とし、クライアントでの実行は行われない。
サーバーでの実行を受信することになる。
この関数の処理記述をC++でする場合は関数名_Implementationをつける必要がある。※定義時は不要
|

meta(メタデータ用タグ)

タグ名 内容
(HidePin = “[Pin名]”) BPでその関数の特定のピンを非表示にする。
(DefaultToSelf = “[引数名]”) BPでその関数指定引数ピンのデフォルトをSelf(this)にする。
(BlueprintInternalUseOnly= “bool”) BPの他の関数やノードの内部実装として使われる関数の検索時のみに表示するかどうか
true:関数、ノードの内部実装でのみ表示
false:どの場面でも表示
(DisplayName="String") Editorでの表示名

UFUNCTION参考サイト

www.unrealcommunity.wiki

UPROPERTYマクロ

メンバ変数の細かな設定マクロ

汎用タグ

タグ名 内容
EditAnywhere ディテールに常に表示、編集可能
EditInstanceOnly インスタンス(生成)後ディテールに表示、編集可能
EditDefaultsOnly デフォルト(生成前)のみディテールに表示、編集可能
VisibleAnywhere ディテールに常に表示、編集不可
VisibleInstanceOnly インスタンス(生成)後ディテールに表示、編集不可
VisibleDefaultsOnly デフォルト(生成前)のみディテールに表示、編集不可
BlueprintReadWrite BPで読み書き可能
BlueprintReadOnly BPで読み込みのみ可能
BlueprintAssignable BPでイベントノードとバインド可能にする※デリゲート
Const 定数とする
Transient 一時的な格納で読み込み時は0に初期化
Category( = “String”) ディテール表示時のカテゴリ(項目)
ReplicatedUsing(= [関数名]) ネットワークを介して更新している値の更新された際実行される、任意の関数を紐づける。引数で更新前の古い値を取得することもできる。

meta(メタデータ用タグ)

タグ名 内容
(ToolTip = "String") パラメータの説明文
(AllowPrivateAccess = “bool”) プライベート変数のイベントグラフに公開可能の有無
(BindWidgetOptional) UMGUIデザイナーで作成されたWidgetと紐づけ
(BindWidgetAnimOptional) UMGUIデザイナーで作成されたアニメーションと紐づけ
(EditCondition ="[メンバbool変数 or 固定bool値]") 指定したbool型のメンバ変数がtrueの場合にアクティブ表示になる
(DisplayName="String") Editorでの表示名 ※UMETAでEnum定義での利用可
(ExposeOnSpawn=”bool”) スポーン時に公開するプロパティかの設定

UPROPERTY参考サイト

unrealcommunity.wiki

agrawalsuneet.github.io

その他のマクロ

タグ名 内容
UPARAM 関数の引数にメタデータを付与するためのマクロ
BPでの表示状態を設定することができる
UMETA Enum等のメタデータを付与するためのマクロ
BPでの表示状態を設定することができる