PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 C++でのExposeOnSpawnについて

環境

UE4.19.0
Visual Studio Community 2015

Expose On Spawnとは

Spawn Actor from ClassでActorをSpawnする際に初期化できる変数のことです。
f:id:PaperSloth:20180413230104p:plain

Blueprintで設定する際は下図のように設定を行います。
f:id:PaperSloth:20180413230236p:plain

Expose on Spawnにチェックを入れるのはもちろんですが
Instance Editableにもチェックを入れる必要があります。

チェックを忘れた場合はコンパイル時に警告となります。


さて、これをC++側で定義する方法についてです。

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Game", meta = (ExposeOnSpawn = true))
    float ExampleExposeValue;

このようにmetaにExposeOnSpawnと書くだけでSpawn時に値を割り当てることができます。
f:id:PaperSloth:20180413232056p:plain

    meta = (AllowPrivateAccess = "true")

このようにmeta指定子の種類によってはtrueを文字列として囲うものもあるので、ちょっとした注意が必要です。

また、C++側で生成時に値を割り当てる時はSpawnActorDeferredを使用しますが、それはまた別の機会に紹介させていただきます。
SpawnActorDeferredについて書きました。
こちらも合わせて読んでおくと便利です。
papersloth.hatenablog.com