BETA

【UE4】UPROPERTY指定子まとめ

投稿日:2018-10-27
最終更新:2019-01-17

UPROPERTYとは

UPROPERTYとはUnreal C++上にて変数に対してつけることでエディタ上でいろんな動作を指定できるものです
例えばエディタ上で編集させたり、逆に編集をさせなかったりなど
より一層エディタでの開発を便利にしてくれます
下記のような書き方をします
UPROPERTY(BlueprintReadOnly) int HP;
ここではよく使うものを纏めていきます
凝った使い方するものは参考リンクを張りますので参照してみてください

UPROPERTY指定子まとめ

アクセス権限周り

  • BlueprintReadOnly
    • BP上からは読み取りのみが可能です
  • BlueprintReadWrite
    • BP上からは読み取りと書き込み両方が可能です
    • ReadOnlyと併用することはできません

詳細画面公開系 (Edit系)

  • EditAnywhere
    • レベルエディタ・BPエディタの詳細パネルで編集可能なことを示します
    • Unityで言う [SerializeField] に近いイメージです
  • EditDefaultsOnly
    • BPエディタで編集可能なことを示します
    • EditAnywhereと違いレベルエディタ上からはアクセスは出来ません
  • EditInstanceOnly
    • レベルエディタ上から編集可能なことを示します
    • EditAnywhereと違いBPエディタ上からアクセスは出来ません

閲覧オンリー系 (Visible系)

  • VisibleAnywhere
    • レベルエディタ・BPエディタの詳細パネルから閲覧可能なことを示します
    • 編集は一切できません
  • VisibleDefaultsOnly
    • BPエディタで閲覧可能なことを示します
    • 編集は一切できません
  • VisibleInstanceOnly
    • レベルエディタ上から閲覧可能なことを示します
    • 編集は一切できません

その他追加情報系

ここらへんはカンマ区切りで複数指定したりします

  • AdvancedDisplay
    • 詳細パネルの▼マークの中に隠すことができます
    • 普段は使わないパラメーター等におすすめ
  • EditFixedSize
    • TArray等で宣言された動的配列の要素数変更を禁止します
  • Instanced
    • UObjectを継承したクラスの変数のプロパティにのみつけれます
    • 詳細パネルの中でそのクラスをインスタンス化して入れ子のように編集できます(わかりにくい)
    • 注意 : 対象のクラスは UCLASS(EditInlineNew) で宣言される必要があります
  • Category = “カテゴリ名”
    • 指定したカテゴリ名でカテゴリを分けることができます

meta系

あんま詳しくないです meta = (指定子) という形で書きます
さらに凝った挙動を実現します

  • EditCondition = 変数名
    • 同クラスの中にあるbool型の変数を指定します。
    • そのbool型の変数がTrueの場合のみ該当のプロパティを編集可能になります
  • InlineEditConditionToggle
    • EditConditionに指定したbool型変数につける指定子です
    • EditConditionと合わせて使うことでチェックボックスを1行にまとめることができます(わかりにくい)

最後に

とりあえずこんなところでしょうか
後日UFUNCTION編書きます
他によく使うものがあれば追記します

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

UE4とかUnityとかC#とか

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう