TagSelector

TagSelectorAttribute.cs namespace Sirenix.OdinInspector {   using System; [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public class TagSelectorAttribute : Attribute {   } }

TagSelectorAttributeDrawer.cs namespace Sirenix.OdinInspector.Editor.Drawers {    using Utilities.Editor; using UnityEngine; using UnityEditor; using System.Linq; using System.Collections.Generic; [OdinDrawer] public class TagSelectorAttributeDrawer : OdinAttributeDrawer // Draw for tag field attributes on string members {        protected override void DrawPropertyLayout(IPropertyValueEntry entry, TagSelectorAttribute attribute, GUIContent label) {            entry.SmartValue = label != null ? EditorGUILayout.TagField(label, entry.SmartValue) : EditorGUILayout.TagField(entry.SmartValue); }    } }
 * 1) if UNITY_EDITOR
 * 1) endif

Usage [TagSelector] public string SomeTagField;