Dropdown instance selector broken by keyboard inputs on Mac

Issue #713 new
Chris Graf created an issue

1. What happened?

On Mac, dropdown Selectors that instantiate objects cannot be closed without making a selection, and break when attempting to navigate with arrow keys.

Usually when opening a dropdown selector to set the value of a field (such as an asset selector or an enum dropdown), I can:

  • Navigate the dropdown content with arrow keys
  • Close the window without making a selection by pressing Esc or clicking outside

For fields that contain instances of plain C# objects, these controls do not work. The selector cannot be closed until a selection is made. Navigating with arrow keys will cause the dropdown element to turn blank and throw several errors to the console. Mouse input and string search behave normally.

2. How can we reproduce it?

  1. On a Mac, Create a new Unity project
  2. Import "Odin - Inspector and Serializer" package with default settings
  3. Create the test script (below) at Assets/TestScriptable.cs
  4. Create an instance of TestScriptable via the Assets menu
  5. Open the new instance in the inspector, select the instanceField field, and press the Up or Down arrow keys. Should see content disappear from the dropdown window and four separate errors continually thrown to console (attached) until next user input.
  6. Make a selection with the mouse, then select instanceField again, and try to close the menu without making a selection or leaving the application window. Should observe that the menu does not close.

Test script:

using Sirenix.OdinInspector;
using UnityEngine;

[CreateAssetMenu(menuName = "Test/TestScriptable")]
public class TestScriptable : SerializedScriptableObject
{
    // Breaks
    public FooObject instanceField;

    // OK
    public TestEnum enumField;

    // OK
    public Material assetField;
}

public class FooObject
{

}

public class BarObject : FooObject
{

}

public enum TestEnum
{
    Foo,
    Bar
}

3. If screenshots would help explain or demonstrate your issue, please include these.

Attached

4. What version of Unity are you using?

2020.1.4f1 Personal

5. What version of Odin are you using? (See "Tools > Odin Inspector > About")

Currently 3.0.1. Issue first observed sometime within last couple months, not 100% confident on timeline. By best estimate, problem began after upgrading from 2.1.4 to 2.1.8.

6. Do you have Editor Only mode enabled?

No

7. What operating system are you on?

macOS High Sierra 10.13.4

Unable to reproduce on Windows