How to reproduce:
- Open the attached "IN-147634" project
- Select Assets/GUIRepro/OverrideMap in the Project window
- In the Inspector, under Animation Override Map, if there are no entries, click + to add one
- Drag an AnimationData asset (e.g. Assets/GUIRepro/AnimData_1) from the Project window onto the Key field of the new entry
- Observe the Console and the Key field
Actual result: A ScriptableObject cannot be assigned as the dictionary Key - the field reverts to "None". Dragging onto the Key field throws exception
Expected result: A ScriptableObject (or any UnityEngine.Object) can be assigned and kept as a serialized Dictionary key in the Inspector, the same as a value
Reproducible with: 6000.6.0a6, 6000.6.0b3, 6000.7.0a2
Could not test with: 6000.0.79f1, 6000.3.19f1, 6000.5.3f1, 6000.6.0a5 (native Dictionary serialization is absent before 6000.6.0a6, so there's no Inspector UI to test)
Reproducible on: Windows 11 Enterprise (25H2)
Not reproducible on: No other environments tested
Notes:
- When clicking on + in Animation Override Map, it doesn’t add new pair of Key and Value
- The values in the Key and Value fields aren’t visible, when + is clicked and if you try to add Key firstly, it won’t appear
- ObjectDisposedException: SerializedProperty _animationOverrideMap.Array.data[0].key has disappeared!
- InvalidOperationException: The operation is not possible when moved past all properties (Next returned false)