以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2024/05/05/234611より取得しました。


UnityのInspectorビューに自作のデータ形式を表示する

本日はUnityの小ネタ枠です。
UnityのInspectorビューに自作のデータ形式(struct, class, record)を表示する方法についてです。

カスタム製のシリアル化

[System.Serializable]属性を利用することで自作のデータ形式をシリアル化することができます。
これにより、Unityがサポートしていない形式のデータをInspectorビュー上から確認・編集することができます。
docs.unity3d.com
docs.unity3d.com

サンプルスクリプト

以下の[System.Serializable]属性を設定した自作のデータ形式を用意しました。
・HumanEntity.cs

// カスタムクラスをシリアライズする
[System.Serializable]
public record HumanEntity
{
    // 名前
    public string Name;
    
    // 年齢
    public int Age;
}

カスタムクラスをプロパティで保持するMonoBehaviourを作成して動作を確認します。
・InspectorSerializeTest.cs

using UnityEngine;

public class InspectorSerializeTest : MonoBehaviour
{
    // カスタムクラス
    [SerializeField] HumanEntity _humanEntity;
    
    void Start()
    {
        _humanEntity = new HumanEntity{ Name = "太郎", Age = 20, };
    }
}

以下の通り、カスタムクラスの情報をInspectorビューから参照できるようになりました。




以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2024/05/05/234611より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14