UE5/UE4 C++で変数のアクセス権系の属性をプロパティ指定子(Property Specifiers)で指定する(UPROPERTY(EditAnywhere)、UPROPERTY(EditDefaultsOnly)、UPROPERTY(EditInstanceOnly)、UPROPERTY(VisibleAnywhere)、UPROPERTY(VisibleDefaultsOnly)、UPROPERTY(VisibleInstanceOnly))
こちらを参考にさせていただきました。
・UE4 よく使うUPROPERTYメモ
https://qiita.com/bigengelt/items/b17545fffe7b8d69e5e8
公式ドキュメントはこちら。
・プロパティ(Properties)とプロパティ指定子(Property Specifiers)
https://docs.unrealengine.com/4.27/ja/ProgrammingAndScripting/GameplayArchitecture/Properties/
アクセス権系の属性を設定するには「UPROPERTY」を使って
「EditAnywhere」や「EditDefaultsOnly」や「EditInstanceOnly」や
「VisibleAnywhere」や「VisibleDefaultsOnly」や「VisibleInstanceOnly」を記述します。
記述はこんな感じになります。
// レベルエディター:閲覧可・編集可。ブループリントエディター等:閲覧可・編集可。
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 ValueEditAnywhere;
// ブループリントエディター等:閲覧可・編集可。
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
int32 ValueEditDefaultsOnly;
// レベルエディター:閲覧可・編集可。
UPROPERTY(EditInstanceOnly, BlueprintReadWrite)
int32 ValueEditInstanceOnly;
// レベルエディター:閲覧可。ブループリントエディター等:閲覧可。
UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
int32 ValueVisibleAnywhere;
// ブループリントエディター等:閲覧可。
UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
int32 ValueVisibleDefaultsOnly;
// レベルエディター:閲覧可。
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite)
int32 ValueVisibleInstanceOnly;
上記の記述したものはレベルエディターで配置したものはこういう感じになります。

ブループリントの詳細ではこういう感じになります。

こんな感じで変更をしてほしくない変数などは制御できるので、
予期せぬことが起きないようにするためにも、ちゃんと設定はしておきたいところです。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑