Serialize Multiple Interfaces Issue

Issue #237 resolved
Nigel Clark created an issue

I've got several classes that inherit from SerializedMonoBehaviour and contain some interfaces. As below:

    public abstract class Button : SerializedMonoBehaviour, IButton
    {
        [SerializeField]
        private UnityEvent m_OnClick;

        [SerializeField]
        private ButtonState m_ButtonState;

        [SerializeField, Header("Navigation")]
        private IButton m_UpControl;

        [SerializeField]
        private IButton m_DownControl;

        [SerializeField]
        private IButton m_LeftControl;

        [SerializeField]
        private IButton m_RightControl;
    public class GasDetector : SerializedMonoBehaviour
    {
        [SerializeField]
        private Collider m_DetectionArea;

        [SerializeField]
        private List<IGas> m_Gases = new List<IGas>();

When you serialize one property in the inspector, it works absolutely fine. However when you drag an interface into the other class, the first class becomes null. As show in images:

InterfaceExampleOdin_01.png

InterfaceExampleOdin_02.png

When this occurs. Intermittently I find this error popping up in the log:

  • UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/NullableReferenceDrawer.cs:59) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceValueConflictDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferenceValueConflictDrawer.cs:55) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferencePathConflictDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferencePathConflictDrawer.cs:45) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (IPropertyValueEntry entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.FixUnityNullDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/FixUnityNullDrawer.cs:74) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferenceDrawer.cs:75) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (IPropertyValueEntry entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.PropertyContextMenuDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/PropertyContextMenuDrawer.cs:33) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.InspectorUtilities.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Misc/InspectorUtilities.cs:419) Rethrow as OdinPropertyException: This error occurred while being drawn by Odin. Odin Property Path: m_Gases.$0 Odin Drawer Chain: PropertyContextMenuDrawer<IGas>, ReferenceDrawer<IGas>, FixUnityNullDrawer<IGas>, ReferencePathConflictDrawer<IGas>, ReferenceValueConflictDrawer<IGas>, NullableReferenceDrawer<IGas>. UnityEngine.Debug:LogException(Exception) Sirenix.OdinInspector.Editor.InspectorUtilities:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Misc/InspectorUtilities.cs:460) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawItem(ListDrawerConfigInfo, InspectorProperty, Boolean, Int32) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/ListDrawer.cs:811) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawItems(ListDrawerConfigInfo) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/ListDrawer.cs:635) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/ListDrawer.cs:243) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.NullableReferenceDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/NullableReferenceDrawer.cs:104) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceValueConflictDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferenceValueConflictDrawer.cs:55) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferencePathConflictDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferencePathConflictDrawer.cs:45) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(IPropertyValueEntry, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.FixUnityNullDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/FixUnityNullDrawer.cs:74) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/ReferenceDrawer.cs:75) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(IPropertyValueEntry, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.PropertyContextMenuDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/PropertyContextMenuDrawer.cs:33)*

INFO Unity3D - 2017.1.2f1 Odin - 1.0.5.3 OS - Windows 10 Home Another minor issue: When selecting the small circle to the right of the field in the inspector, it never finds any instances of the interface, even when there's definitely instances of the interface existing in the scene.

Thanks!

Comments (10)

  1. Nigel Clark reporter

    ArgumentException: GUILayout: Mismatched LayoutGroup.Repaint at UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) [0x00084] in C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUILayoutUtility.cs:301 at UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) [0x0000d] in C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUILayout.cs:286 at UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) [0x00008] in C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUILayout.cs:276 at Sirenix.Utilities.Editor.SirenixEditorGUI.BeginIndentedVertical (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) [0x00000] in C:\Sirenix\Sirenix Solution\Sirenix.Utilities.Editor\GUI\SirenixEditorGUI.cs:1302 at Sirenix.Utilities.Editor.SirenixEditorGUI.BeginBox (UnityEngine.GUILayoutOption[] options) [0x00000] in C:\Sirenix\Sirenix Solution\Sirenix.Utilities.Editor\GUI\SirenixEditorGUI.cs:1671 at Sirenix.OdinInspector.Editor.Drawers.NullableReferenceDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00157] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\NullableReferenceDrawer.cs:59 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00011] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170 at Sirenix.OdinInspector.Editor.Drawers.ReferenceValueConflictDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x000ad] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferenceValueConflictDrawer.cs:55 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00011] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170 at Sirenix.OdinInspector.Editor.Drawers.ReferencePathConflictDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00043] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferencePathConflictDrawer.cs:45 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00011] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (IPropertyValueEntry entry, UnityEngine.GUIContent label) [0x00000] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:149 at Sirenix.OdinInspector.Editor.Drawers.FixUnityNullDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x0009f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\FixUnityNullDrawer.cs:74 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00011] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170 at Sirenix.OdinInspector.Editor.Drawers.ReferenceDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00126] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferenceDrawer.cs:75 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00011] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170 at Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (IPropertyValueEntry entry, UnityEngine.GUIContent label) [0x00000] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:149 at Sirenix.OdinInspector.Editor.Drawers.PropertyContextMenuDrawer1[TacticalHazmat.IGas].DrawPropertyLayout (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00000] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\PropertyContextMenuDrawer.cs:33 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawProperty (IPropertyValueEntry1 entry, UnityEngine.GUIContent label) [0x00010] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175 at Sirenix.OdinInspector.Editor.OdinValueDrawer1[TacticalHazmat.IGas].DrawPropertyImplementation (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00077] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166 at Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x0002f] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121 at Sirenix.OdinInspector.Editor.InspectorUtilities.DrawProperty (Sirenix.OdinInspector.Editor.InspectorProperty property, UnityEngine.GUIContent label) [0x00148] in C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Misc\InspectorUtilities.cs:419 Rethrow as OdinPropertyException: This error occurred while being drawn by Odin. Odin Property Path: m_Gases.$0 Odin Drawer Chain: PropertyContextMenuDrawer<IGas>, ReferenceDrawer<IGas>, FixUnityNullDrawer<IGas>, ReferencePathConflictDrawer<IGas>, ReferenceValueConflictDrawer<IGas>, NullableReferenceDrawer<IGas>.

    UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object) UnityEngine.DebugLogHandler:LogException(Exception, Object) UnityEngine.Logger:LogException(Exception, Object) UnityEngine.Debug:LogException(Exception) Sirenix.OdinInspector.Editor.InspectorUtilities:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Misc\InspectorUtilities.cs:460) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawItem(ListDrawerConfigInfo, InspectorProperty, Boolean, Int32) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Value Drawers\ListDrawer.cs:811) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawItems(ListDrawerConfigInfo) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Value Drawers\ListDrawer.cs:635) Sirenix.OdinInspector.Editor.Drawers.ListDrawer2:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Value Drawers\ListDrawer.cs:243) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.NullableReferenceDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\NullableReferenceDrawer.cs:104) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceValueConflictDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferenceValueConflictDrawer.cs:55) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferencePathConflictDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferencePathConflictDrawer.cs:45) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(IPropertyValueEntry, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.FixUnityNullDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\FixUnityNullDrawer.cs:74) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.Drawers.ReferenceDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\ReferenceDrawer.cs:75) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:170) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(IPropertyValueEntry, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:149) Sirenix.OdinInspector.Editor.Drawers.PropertyContextMenuDrawer1:DrawPropertyLayout(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\Misc Drawers\PropertyContextMenuDrawer.cs:33) Sirenix.OdinInspector.Editor.OdinValueDrawer1:DrawProperty(IPropertyValueEntry1, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:175) Sirenix.OdinInspector.Editor.OdinValueDrawer`1:DrawPropertyImplementation(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinValueDrawer.cs:166) Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinDrawer.cs:121) Sirenix.OdinInspector.Editor.InspectorUtilities:DrawProperty(InspectorProperty, GUIContent) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Misc\InspectorUtilities.cs:419) Sirenix.OdinInspector.Editor.InspectorUtilities:DrawProperty(InspectorProperty) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Misc\InspectorUtilities.cs:362) Sirenix.OdinInspector.Editor.InspectorUtilities:DrawPropertiesInTree(PropertyTree) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Misc\InspectorUtilities.cs:340) Sirenix.OdinInspector.Editor.PropertyTree:Draw(Boolean) (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Core\PropertyTree.cs:184) Sirenix.OdinInspector.Editor.OdinEditor:OnInspectorGUI() (at C:\Sirenix\Sirenix Solution\Sirenix.OdinInspector.Editor\Drawers\OdinEditor.cs:195) UnityEditor.InspectorWindow:DrawEditor(Editor[], Int32, Boolean, Boolean&, Rect&) (at C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:1240) UnityEditor.InspectorWindow:DrawEditors(Editor[]) (at C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:1021) UnityEditor.InspectorWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:362) System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222) System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115) UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:272) UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:265) UnityEditor.HostView:InvokeOnGUI(Rect) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:232) UnityEditor.DockArea:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:407) UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:115) UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(Event, VisualElement) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:188) UnityEngine.Experimental.UIElements.IMGUIContainer:DoRepaint(IStylePainter) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:38) UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:425) UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:435) UnityEngine.Experimental.UIElements.Panel:Repaint(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:450) UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:178) UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:71) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUIUtility.cs:186)

  2. Nigel Clark reporter

    Incidentally I did a test. When I have multiple interface variables in one class, I can assign all of those in the inspector without an issue, however when I select a different GameObject and assign an interface to another field, all the previous ones disappear and become null. Hope that helps.

  3. Tor Esa Vestergaard

    I've replicated this issue and am looking into what's going on. I'll let you know what I find out as soon as possible :)

  4. Tor Esa Vestergaard

    This was a bit of a hairy one, but I've figured out what was going on, and I've introduced a fix, which will be in the next patch.

    The problem was that, any time prefab modifications for Odin-serialized data was applied on a component, ALL Odin-serialized modifications on the entire GameObject were wiped. This has now been fixed, so that only modifications on the target component are wiped before the new set of modifications are registered.

    If you need the fix right now, please send me a mail at tor@sirenix.net with your Odin invoice ID, and I will send you the fixed build right away.

  5. Nigel Clark reporter

    I'm unable to Email you the original purchase order number as the Emails been deleted. Is there another way to get a proof of purchase? Or alternately do you know when the fix will be released?

    FYI - It was definitely a prefab issue. I hadn't tried until now, but upon saving a prefab with a saved interface variable Unity would freeze and I'd need to restart it.

  6. Log in to comment