コガネブログ

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

【Unity】【Odin - Inspector and Serializer】プレハブのインスタンスで値を編集不可能にする「EnableForPrefabOnly」属性

目次

「EnableForPrefabOnly」属性

「EnableForPrefabOnly」属性を使用すると
プレハブのインスタンスで値を編集不可能にすることができます

注意

現在は「EnableForPrefabOnly」属性は非推奨となっており
下記の属性が推奨されています

  1. プレハブの値を非表示にする「HideInPrefabs」属性
  2. プレハブの値を編集不可にする「DisableInPrefabs」属性
  3. Hierarchy ビューのプレハブの値を非表示にする「HideInPrefabInstances」属性
  4. Hierarchy ビューのプレハブの値を編集不可にする「DisableInPrefabInstances」属性
  5. Project ビューのプレハブの値を非表示にする「HideInPrefabAssets」属性
  6. Project ビューのプレハブの値を編集不可にする「DisableInPrefabAssets」属性
  7. プレハブではないオブジェクトの値を非表示にする「HideInNonPrefabs」属性
  8. プレハブではないオブジェクトの値を編集不可にする「DisableInNonPrefabs」属性

プレハブ

f:id:baba_s:20170721181302p:plain

プレハブのインスタンス

f:id:baba_s:20170721181309p:plain

ソースコード

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [EnableForPrefabOnly] public int i1;
    [ShowForPrefabOnly] public int i2;
}

使い方

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

[EnableForPrefabOnly] public int i1;