Unsupported type int2_storage with MinMaxSlider and Vector2Int

Issue #772 resolved
rabanti created an issue

Description

I tried to define a MinMaxSlider of two int values, as described in the release notes of v2.0 : Section "Additions"

The MinMaxSlider attribute now also works on Vector2Int properties.

However, in v 3.0.4 (Unity 2020.0.0f1) Vector2Int seams to be broken with the Attribute “MinMaxSlider”

The code:

[Serializable]
public class ItemRange
{
  [MinMaxSlider(1, 100)]
  public Vector2Int range;
}

causes the following stack trace, if the slider is manipulated in the editor:

Unsupported type int2_storage
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Sirenix.OdinInspector.Editor.PropertyTree`1<Assets.Scripts.Item.DropItem>:<ApplyChanges>b__49_1 () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:1431)
Sirenix.OdinInspector.Editor.PropertyTree`1<Assets.Scripts.Item.DropItem>:InvokeDelayedActions () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:2093)
Sirenix.OdinInspector.Editor.PropertyTree:EndDraw () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:515)
Sirenix.OdinInspector.Editor.PropertyTree:Draw (bool) (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:390)
Sirenix.OdinInspector.Editor.OdinEditor:DrawTree () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:93)
Sirenix.OdinInspector.Editor.OdinEditor:DrawOdinInspector () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:216)
Sirenix.OdinInspector.Editor.OdinEditor:OnInspectorGUI () (at Y:/Repositories/sirenix-development-framework/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:85)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

How to reproduce

  • Define a serializable class that is used as field in a class, extending MonoBehaviour
  • Define a filed with the type Vector2Int
  • Add the attribute MinMaxSlider with values like min:1, max:100
  • Add the MonoBehaviour class as component in a Unity GameObject
  • Change the value of the serializable class with the MinMaxSlider

The above stated error “Unsupported type int2_storage“ will occur on each change of the value

Environment

  • OS: Windows 10 x64 (20H2)
  • Unity: 2020.3.0f1
  • Odin Inspector: 3.0.4.0
  • Editor Only Mode: Occurs in enabled and disabled mode

Please let me know if a demo project is necessary.

Comments (3)

  1. Tor Esa Vestergaard
    • changed status to open

    I'm afraid this issue does not reproduce in the Unity/Odin versions you specified. I also tried in a few newer and older versions of Unity, and it also failed to reproduce there. If you want a resolution, I'm afraid you will have to provide a repro package that reliably reproduces the issue in a fresh Unity project.

  2. rabanti reporter

    Hi

    I tried to reproduce it too in a new project and failed (was working), tried it in my original project and was now also working.
    So, I really cannot say what happened back then. Maybe it was a .NET/CLR problem that was resolved with a restart of the system.

    I am sorry for the inconvenience. I will consider further checks in the future before reporting an issue.
    This issue can be closed therefore.

    Thank you very much for your time.

  3. Log in to comment