C++のユースケース毎のLevel、BPへの変数公開のUPROPERTY設定

毎度調べるのも面倒だし、ほぼ個人的なメモ。
気が向いたら内容が増えていくかも。

初期値の設定

Level上での設定や、BPエディタ上での設定に関するUPROPERTYの設定。
EditAnywhere
EditDefaultsOnly
EditInstanceOnly
VisibleDefaultsOnly
VisibleInstanceOnly

クラスとしてのデフォルトの値をエディタ上で設定したい

全てのインスタンスで同じ値を使用するようにしたい場合に。

UPROPERTY(EditDefaultsOnly)

Level上に配置後に値を調整したりしたい

Level上で表示を確認しながら調整したい場合に。

UPROPERTY(EditAnywhere)

クラスの設定値を変えないので見れるようにだけしたい

あまり見れるだけというのはLevelエディタやBPの利点を活かせてないように思うけど、C++で設定している値を見たい場合などに。

UPROPERTY(VisibleDefaultsOnly)

インスタンス毎の設定値を変えないので見れるようにだけしたい

UPROPERTY(VisibleInstanceOnly)

全部

UPROPERTY(EditAnywhere)


BP上での編集、取得

BPでGet、Setの使用可否の設定。
BlueprintReadWrite
BlueprintReadOnly

BP上で書き換えを行いたい

イベント等で書き換えたい場合に。
UPROPERTYにVisibleInstanceOnlyやVisibleDefaultsOnlyを設定していても書き換え可能。マジか。

UPROPERTY(BlueprintReadWrite)

BP上で取得のみ行いたい

The 設定値

UPROPERTY(BlueprintReadOnly)