Thank you for providing extra details and the log!
It looks like the log confirms your findings: the parameter triggers fire before any EventInstance exists because Play() never runs. Since the pegs are preloaded and don’t hit the usual Unity lifecycle hooks (Start/OnEnable), the StudioEventEmitter won’t play automatically.
Two approaches that might fit your workflow:
- Trigger a lifecycle: pool pegs as inactive, set emitter to OnEnable, then
SetActive(true)when used. This ensuresPlay()happens before you set parameters. - Control it explicitly: from Playmaker or a tiny bridge script, call
emitter.Play()(or create/start anEventInstancedirectly) and then set thePerkparameter, which is commonly recommended for runtime driven behavior. You can find a related discussion here: Changing a SudioEventEmitter's Event During Runtime - #2 by Leah_FMOD
Hope this helps!