Skip to content

Instantly share code, notes, and snippets.

@igilham
Created October 8, 2020 08:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igilham/907bee7b50985ce04a2597a40727c11b to your computer and use it in GitHub Desktop.
Save igilham/907bee7b50985ce04a2597a40727c11b to your computer and use it in GitHub Desktop.
Unity Editor ReadOnly Attribute
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class ReadOnlyAttribute : PropertyAttribute
{
}
[CustomPropertyDrawer(typeof(ReadOnlyAttribute))]
public class ReadOnlyDrawer : PropertyDrawer
{
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return EditorGUI.GetPropertyHeight(property, label, true);
}
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
GUI.enabled = false;
EditorGUI.PropertyField(position, property, label, true);
GUI.enabled = true;
}
}
// Usage:
// [ReadOnly] public float SomeProperty;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment