Skip to content

Instantly share code, notes, and snippets.

@dmbfm
Forked from MattRix/ReadOnlyAttribute.cs
Created March 9, 2021 22:46
Show Gist options
  • Save dmbfm/ecb3542688a32ed0dd63cfe450cb16ca to your computer and use it in GitHub Desktop.
Save dmbfm/ecb3542688a32ed0dd63cfe450cb16ca 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