MRが楽しい

MRやVRについて学習したことを書き残す

UnityでInspectorビューにスクリプトのプライベート変数を表示する

本日はUnityの小ネタ枠です。
UnityでInspectorビューにスクリプトのプライベート変数を表示する方法です。

Inspectorビューにスクリプトのプライベート変数を表示する

通常Inspectorビューにはスクリプトのカスタマイズされたエディターが表示されます。
Inspectorビューのデバッグモードを利用するとスクリプトのプロパティのみが表示されるようになり、プライベート変数も表示されるようになります。
docs.unity3d.com

サンプルスクリプト

以下のパブリック変数、シリアライズされた変数、プライベート変数を持つサンプルスクリプトを用意しました。
・InspectorDebugTest.cs

using UnityEngine;

public class InspectorDebugTest : MonoBehaviour
{
    // パブリック変数
    public int publicField = default;
    
    // シリアライズされた変数
    [SerializeField] private int serializeField = default;
    
    // プライベート変数
    private int privateField = default;
    
    void Start()
    {
        publicField = 1;
        serializeField = 2;
        privateField = 3;
    }
}

適当なオブジェクトにスクリプトを割り当てます。
通常時はパブリック変数とシリアライズされた変数のみがInspectorビューから確認できます。

次にInspectorビューをデバッグモードに切り替えます。
右上の[:]プルダウンから[Debug]を選択します。

以下の通り、デバッグモードではスクリプトのプライベート変数が確認できるようになりました。
ただしプライベート変数は値を変更することはできません。