Skip to content

Instantly share code, notes, and snippets.

@Sov3rain
Forked from MattRix/ReadOnlyAttribute.cs
Created June 11, 2020 13:34
Show Gist options
  • Save Sov3rain/57ee619a54638e91b1315a185a5050b7 to your computer and use it in GitHub Desktop.
Save Sov3rain/57ee619a54638e91b1315a185a5050b7 to your computer and use it in GitHub Desktop.
Read Only Attribute for Unity (just mark stuff as [ReadOnly] the same way you would use [HideInInspector])
using UnityEngine;
using System;
using System.Reflection;
using System.Text.RegularExpressions;
[AttributeUsage (AttributeTargets.Field,Inherited = true)]
public class ReadOnlyAttribute : PropertyAttribute {}
#if UNITY_EDITOR
[UnityEditor.CustomPropertyDrawer (typeof(ReadOnlyAttribute))]
public class ReadOnlyAttributeDrawer : UnityEditor.PropertyDrawer
{
public override void OnGUI(Rect rect, UnityEditor.SerializedProperty prop, GUIContent label)
{
bool wasEnabled = GUI.enabled;
GUI.enabled = false;
UnityEditor.EditorGUI.PropertyField(rect,prop);
GUI.enabled = wasEnabled;
}
}
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment