I am wondering if you can do something like “find references” within Unity to find references of an FMOD event. Like in order to find every asset/prefab in the Unity project that has a specific FMOD event assigned somewhere within it. For example, if I wanted to find every prefab that uses an FMOD event called SFX-Stone_Gate_03 or something.
I had posted this here in the FMOD Studio forum, but I think it makes more sense for this question to be over here.
Enter the event path you want to search for, such as event:/SFX/SFX-Stone_Gate_03, then select whether you want to search the current scene, prefabs, or both, and click Find.
This will locate StudioEventEmitter components that are assigned to that event.
Please note that this searches event references assigned to Studio Event Emitters. It would not necessarily find events referenced through custom scripts or created dynamically in code.
Hope this helps! Let me know if you have questions.
The Find and Replace tool searches the serialized event paths, so it is not available when event references are serialized using GUIDs only. If you disable Serialize GUIDs Only and allow Unity to recompile the scripts, the option should appear under the FMOD menu.
Please note that changing this setting may cause Unity assets containing FMOD event references to be reserialized.
Ah, I do have it checked. Thank you. What else does that affect? I’ll need to submit the settings file back into our perforce depot, which will change it for everyone. Is there any reason it might not be a good idea to do that?
With Serialize GUIDs Only enabled, FMOD event references store only the GUID in scenes, prefabs, and other serialized assets. Event paths can still be displayed in the Unity Editor by looking them up from the GUID, but the path itself is not stored with the reference.
Disabling the option would allow event paths to be serialized again and would restore the Find and Replace tool. It should not change the underlying GUID used to identify valid events.
A team may prefer GUID-only serialization to avoid storing path information in Unity assets, particularly if they want to avoid asset changes caused only by FMOD event paths being renamed or reorganized.
The trade-off is that path-based tools such as Find and Replace are unavailable, and if a GUID can no longer be resolved, there is no serialized path left to indicate which event the reference was originally intended to use.
I’d recommend checking with the team whether it was enabled intentionally before submitting the change.
Ah, very interesting. Thank you for this information. I had no idea that was an option. If you are working with paths serialized as well, and then need to move or rename something, is it possible to change this setting back to GUID only, do the rename/move and then change it back again to serialize the paths?
I’m not sure what you mean by this:
Event paths can still be displayed in the Unity Editor by looking them up from the GUID
Aren’t the paths not displayed if you have to look them up? Maybe I don’t understand what you’re saying.
Yes, that workflow should work. You can temporarily enable Serialize GUIDs Only, rename or move the event, then disable it again. Since the GUID remains the same, the reference continues to point to the same event.
Please note that after switching back, you may need to run FMOD > Update Event References to update the serialized paths with the event’s new path.
Sorry for the confusion, my wording about the paths being “looked up” was unclear. You don’t have to manually look them up.
With Serialize GUIDs Only enabled, the event path is not serialized into the prefab or scene. The FMOD integration can use the stored GUID to resolve the current path and display it automatically in the Unity Editor, for example in the Inspector or Event Browser. So you can still see event:/..., even though that string is not actually stored in the Unity asset.
That distinction is also why Find and Replace is unavailable in GUID-only mode. The existing tool searches the serialized event paths, which are not present when Serialize GUIDs Only is enabled.