まきゼミ技事録!

とあるゼミのプログラマー達が送る技術ブログのようなもの

UnityのAttribute(属性)について

初めまして!ひろたか('Д')です。

現在、いろいろ忙しくて技術的な部分があまり勉強できていませんが、頑張っていきます。

今回はUnityのAttributeの中でもいくつか使えそうなものを紹介します。

SerializeFiled

[SerializeFiled]
private int serializeFiled;

まずはおなじみSerializeFiledです。privateやprotectedフィールドを強制的にシリアライズしてInspector上での編集を可能にします。

HideInInspector

[HideInInspector]
public int hideInInspector

こちらはSerializeFiledとは逆にpublicなどのシリアライズするフィールドをInspector上から隠します。
似たようなものにSystem.NonSerializebleというものがあります。こちらはシリアライズをしないように設定することでInspetor上から隠します。

HeaderAttribute

[Header("Title")]
public int header;

Inspector上のフィールドにタイトルが追加されます。

TooltipAttribute

[Tooltip("説明文")]
public int tooltip;

inspector上のフィールドにマウスカーソルを合わせると説明文が表示されます。

ExecuteInEditMode

[ExecuteInEditMode]
public class ExecuteInEditBehaviour:MonoBehaviour{
}

クラスの前に付けるAttributeです。これは付けるとエディタがプレイモードになっていなくてもMonoBehavioursのStartやUpdateなどのコールバック関数が呼ばれるようになります。

複数の属性を設定したい場合

Attributeは複数付けることもできます。

[SerializeFiled,Tooltip("説明文")]
public int hoge;