コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【Unity】【Odin - Inspector and Serializer】private 変数やプロパティを Inspector に表示する「ShowInInspector」属性

目次

「ShowInInspector」属性

「ShowInInspector」属性を使用すると
private 変数やプロパティを Inspector に表示できるようになります

※値は保存されません

f:id:baba_s:20170721145326p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [ShowInInspector] private int id;
    
    [ShowInInspector] private int Id1 { get; set; }
    [ShowInInspector] public int Id2 { get; set; }
    [ShowInInspector] public int Id3 { get { return 25; } }
    
    private Vector3 position;
    
    [ShowInInspector]
    public Vector3 Position
    {
        get { return position; }
        set
        {
            position = value;
            Debug.Log( value );
        }
    }
}

使い方

下記の様に記述するだけで使用できます

[ShowInInspector] private int id;

private なプロパティも、public なプロパティも
Inspector に表示できます

[ShowInInspector] private int Id1 { get; set; }
[ShowInInspector] public int Id2 { get; set; }

get アクセサのみのプロパティの場合は
編集不可能な状態で Inspector に表示されます

[ShowInInspector] public int Id3 { get { return 25; } }

下記のようなプロパティも Inspector に表示できます

private Vector3 position;

[ShowInInspector]
public Vector3 Position
{
    get { return position; }
    set
    {
        position = value;
        Debug.Log( value );
    }
}

参考サイト様

Sirenix - Odin Inspector : ShowInInspectorAttribute