使い方
プロパティ
SerializeField
HideInInspector
クラス
Serializable
ドキュメント:
参考:
インスペクター拡張用の属性について | Uinty 使い方ガイド
Attribute で Inspector の表示変更 | 操作を忘れてしまうので。
7 Useful Unity Attributes that Make the Inspector Easier to Use (Elnur) | Star Gazers
Header 属性
ドキュメント:
HeaderAttribute | Unity スクリプトリファレンス [公式]
参考:
Inspector のコメント/ヘッダ表示を編集する | MR が楽しい
Range 属性
ドキュメント:
UnityEngine.RangeAttribute | Unity スクリプトリファレンス [公式]
参考:
インスペクターでスライダーを使う | Senchan Office
SerializeField 属性
ドキュメント:
SerializeField | Unity スクリプトリファレンス [公式]
参考:
private 変数を Inspector で編集する | コガネブログ
SerializeField は、簡単に外部ファイルを実行できて便利 – Qiita
FormerlySerializedAs 属性
ドキュメント:
Serialization.FormerlySerializedAsAttribute | Unity スクリプトリファレンス [公式]
参考:
SerializeField などで設定した値を保存したまま変数名を変更する方法 | 夜中に Unity
カスタム属性
属性を定義する。
using System;
[AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)]
class ExampleAttrAttribute : Attribute
{
private string str;
public ExampleAttrAttribute(string str)
{
this.str = str;
}
}
Code language: C# (cs)
属性を使用する。
public class Example
{
[ExampleAttr("hoge")]
public int foo = 123;
}
Code language: C# (cs)
Property Attribute
プロパティに付与する属性を作成する場合は、PropertyAttribute
クラスを継承する。
Property Drawer
属性を付与したプロパティに関して、インスペクターの表示をカスタマイズする場合は、PropertyDrawer
クラスを継承したカスタムプロパティドロワーを定義する。カスタムプロパティドロワークラスには、CustomPropertyDrawer
属性を付与する。
ドキュメント:
Property Drawer | Unity マニュアル [公式]
UnityEngine.PropertyAttribute | Unity スクリプトリファレンス [公式]
UnityEditor.PropertyDrawer | Unity スクリプトリファレンス [公式]
AttributeTargets 列挙型 | Microsoft Learn [公式]
参考:
PropertyAttribute – 自作 Attribute の作り方とその応用例 | はなちるのマイノート
Custom Attribute と Custom Property Drawer を組み合わせたら Inspector がうまく表示されなくなった件と対応方法 | LIGHT11
How to write a custom attribute? – Unity Answers
コード:
属性を付与したフィールドの情報を取得する
参考:
隣の Serialized Property を知りたくて | 徳島ゲーム開発ごっこ
custom attribute code -> look at the field that it was associated with – Stack Overflow
まとめ
Untiy 開発で早く知りたかった Attribute – Qiita
Inspector ウィンドウでの表示に関わる Attribute のまとめ | エクスプラボ
チュートリアル
Improve Your Inspector with Attributes (Jason Weimann)
Using Attributes (Otter Knight)
Using Attributes to Manage Data (Game Dev Guide)
Attributes that Save Time (Jason Weimann)
3 Tips to Escape Inspector Panel Hell (Lost Relic Games)
Conditional Hide Attribute
参考:
Hiding or Disabling inspector properties using Property Drawers | Brecht Lecluyse
Markup Attributes
リポジトリ:
Naughty Attributes
リポジトリ:
dbrizov/NaughtyAttributes: Attribute Extensions – GitHub
Not Null Attribute
参考: