Search Issue Tracker
Fixed in 2020.1.X
"Assertion failed on expression" error is thrown when Audio Group's "Send level" variable of "Send" effect is exposed
How to reproduce:
1. Open attached project "AudioTest.zip"
2. Open "Audio Mixer" window
3. In Project Window select "MisterMixer"
4. In Audio Mixer window, select "Sender Group"
5. In Inspector window, right-click on "Send level" and expose the value
6. Observe the Console window
Expected result: the value is exposed, no errors are thrown
Actual result: "Assertion failed on expression: 'm_ExposedParameterCache.size() == GetMixerConstant()->exposedParameterCount'" is thrown
Reproducible with: 2017.4.32f1, 2018.4.7f1, 2019.2.3f1, 2019.3.0b1, 2020.1.0a1
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Input Field ignores first keyboard input when calling Focus() from code
- GC Alloc when using Graphics.RenderMeshInstanced
- [VFX Graph][URP] VFX crashes on URP when dragging VFX asset to the Hierarchy window
- InvalidOperationException when using AsyncGPUReadback.RequestIntoNativeArray
- Generated Entities look different when Depth Priming Mode is changed
Nov 03, 2020 16:03
They tecnically fixed it as the error no longer shows up in 2020.1.
But exposing the "Send Level" parameter just doesn't work. There is no real purpose in exposing "Send Level" parameters when you can't control them by code. Also, when exposing one "Send Level" parameter, the Audio Mixer exposes every other parameter of the same type (if they exist) as one.
Oct 08, 2020 21:33
why is this marked as solved? It´s not! I have the same problem.
Expose send on multiple tracks creates ONE exposed parameter only!
Dec 18, 2019 18:55
Hmmh, at the moment, in order to have "real" send level control from code, using exposed mixer parameters, I guess one could first insert a stationary always-on-100%-send that sends into a separate dummy track, then expose the attenuation parameter on that extra track - and then, in turn, send downstream from there into the actual desired send target. Control the exposed attenuation parameter from code to effectively get dynamic send level control. It does get a bit messy if you have a lot of groups and stuff to send, but at least it works for now.
Dec 18, 2019 18:29
Is there a way to work around this, or is this currently stopping exposing Send levels altogether?
Just bumped into this when getting to know the Unity Mixer, trying to access Send levels from code, via exposing them first in the Inspector. As this error happens, I can't dynamically vary the Send level of something being sent to a Duck Volume effect, for example, or adjust signal levels for echo/reverb sends at runtime, and such?