Existing FMOD events work normally, but any newly created event causes the Unity inspector to throw exceptions when assigned to an EventReference. Older events remain fully usable.
Symptoms
Any newly created event causes:
- ArgumentOutOfRangeException
- Exceptions originating from FMODUnity.EventManager.EventFromString
- Inspector layout corruption (components overlap and draw incorrectly)
- Double-clicking the exception opens InspectorProperty.cs (empty file)
- Update Event References freezes Unity indefinitely
- Newly created events display “Event not found” in the inspector
The exception is spammed multiple times per second, both in Edit Mode and Play Mode.
Troubleshooting already attempted:
- Deleted Unity Library
- Deleted FMOD cache
- Rebuilt banks
- Created completely new events
- Renamed events
- Tested with multiple scripts (the issue is global; assigning a newly created event to any EventReference causes the error)
- Existing events continue to work; only newly created events fail(to my knowledge)
- Reimported Odin Inspector (no change)
here are some Logs, it spams this multiple times per second, out and in play mode.
The issue is not tied to a specific event. Any event created after this problem started exhibits the behavior, while events created previously continue to work normally.
Note that the audio still plays correctly, it just spams errors for some reason
FMOD Studio Version: 2.03.12
FMOD Unity Integration Version: 2.03.12
Logs
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List1[T].get_Item (System.Int32 index) (at <816f70bc2a9c4332b0bd119906a8d40e>:0) FMODUnity.EventManager.EventFromString (System.String path) (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:1237) FMODUnity.EventManager.EventFromPath (System.String pathOrGuid) (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:1226) FMODUnity.EventReferenceDrawer.GetEditorEventRef (FMODUnity.EventReference eventReference) (at Assets/Plugins/FMOD/src/Editor/EventRefDrawer.cs:354) FMODUnity.EventReferenceDrawer.GetPropertyHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/FMOD/src/Editor/EventRefDrawer.cs:382) UnityEditor.PropertyDrawer.GetPropertyHeightSafe (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at <cd9a5dfa62e34daeb7c2d29ef5f4929b>:0) UnityEditor.PropertyHandler.GetHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <cd9a5dfa62e34daeb7c2d29ef5f4929b>:0) System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <816f70bc2a9c4332b0bd119906a8d40e>:0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. Sirenix.OdinInspector.Editor.UnityPropertyHandlerUtility.PropertyHandlerGetHeight (System.Object handler, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/UnityPropertyHandlerUtility.cs:240) Sirenix.OdinInspector.Editor.UnityPropertyDrawer2[TDrawer,TDrawnType].DrawPropertyLayout (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/UnityPropertyDrawer.cs:152)
Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:155)
Sirenix.OdinInspector.Editor.Validation.ValidationDrawer1[T].DrawPropertyLayout (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Validation/Core/ValidationDrawer.cs:264) Sirenix.OdinInspector.Editor.OdinDrawer.CallNextDrawer (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:155) Sirenix.OdinInspector.Editor.Drawers.PropertyContextMenuDrawer1[T].DrawPropertyLayout (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/PropertyContextMenuDrawer.cs:666)
Sirenix.OdinInspector.Editor.OdinDrawer.DrawProperty (UnityEngine.GUIContent label) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:109)
Sirenix.OdinInspector.Editor.InspectorProperty.Draw (UnityEngine.GUIContent defaultLabel) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:881)
Rethrow as OdinPropertyException: This error occurred while being drawn by Odin.
Current IMGUI event: Layout
Odin Property Path: hydroSound1
Odin Drawer Chain:
PropertyContextMenuDrawer
ValidationDrawer
UnityPropertyDrawer<EventReferenceDrawer, EventReference>
CompositeDrawer
DesignerInspectorGenericMenu.
UnityEngine.Debug:LogException(Exception)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:982)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:744)
Sirenix.OdinInspector.Editor.Drawers.UnityObjectRootDrawer1:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/UnityObjectRootDrawer.cs:60) Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:155) Sirenix.OdinInspector.Editor.Validation.ValidationDrawer1:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Validation/Core/ValidationDrawer.cs:264)
Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:155)
Sirenix.OdinInspector.Editor.Drawers.FixBrokenUnityObjectWrapperDrawer`1:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Attribute Drawers/FixBrokenUnityObjectWrapperDrawer.cs:42)
Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:109)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:881)
Sirenix.OdinInspector.Editor.PropertyTree:DrawProperties() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:804)
Sirenix.OdinInspector.Editor.PropertyTree:Draw(Boolean) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:688)
Sirenix.OdinInspector.Editor.OdinEditor:DrawTree() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:98)
Sirenix.OdinInspector.Editor.OdinEditor:DrawOdinInspector() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:236)
Sirenix.OdinInspector.Editor.OdinEditor:OnInspectorGUI() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinEditor.cs:80)
UnityEditor.GUIView:ProcessEvent(EntityId, IntPtr, Boolean&)