Not signed in
Copyright © 2026 Unity Technologies
Description
Sending data via ProcessorInstance.Pipe in a nested generator throws an exception.
Initial setup
Download, unzip and open the attached Unity project sap-message-pipe-repro.
Reproduction steps
Expected behaviour
The editor should run without per-frame exceptions / console spam.
Actual behavior
An exception is thrown every frame, spamming the console.
Reproducible with versions
6000.3.6f1, 6000.4.0b6, 6000.5.0a7
Not reproducible with versions
Not relevant for versions pre 6.3 as the feature did not exist in versions prior to that.
Can’t test with versions
Not relevant for versions pre 6.3.
Tested on (OS):
macOS 26.2
Logs and Links
Stack trace:
InvalidOperationException: DualThreadHandle is not valid, cannot get available data.
UnityEngine.Audio.ProcessorInstance+Pipe.GetAvailableData[TAudioContext] (TAudioContext context) (at /opt/UnitySrc/unity1/Modules/Audio/Public/ScriptableProcessors/ScriptBindings/ScriptableProcessor.bindings.cs:262)
SynthAsset+Realtime.Process (UnityEngine.Audio.RealtimeContext& context, UnityEngine.Audio.ProcessorInstance+Pipe pipe, UnityEngine.Audio.ChannelBuffer buffer, UnityEngine.Audio.GeneratorInstance+Arguments args) (at Assets/Scripts/Child.cs:23)
SynthAsset+Realtime.UnityEngine.Audio.GeneratorInstance.IRealtime.Process (UnityEngine.Audio.RealtimeContext& context, UnityEngine.Audio.ProcessorInstance+Pipe pipe, UnityEngine.Audio.ChannelBuffer buffer, UnityEngine.Audio.GeneratorInstance+Arguments args) <0x3c59fc468 + 0x000ff> in <40f815355a454e4a92d147089da3a8d9>:0
UnityEngine.Audio.IGeneratorProcessorExtensions+JobStruct`1[TUserProcessor].Execute (UnityEngine.Audio.IGeneratorProcessorExtensions+JobStruct`1+Storage[TUserProcessor]& storage, System.IntPtr additionalPtr, System.IntPtr additionalPtr2, Unity.Jobs.LowLevel.Unsafe.JobRanges& ranges, System.Int32 jobIndex) (at /opt/UnitySrc/unity1/Modules/Audio/Public/ScriptableProcessors/ScriptBindings/ScriptableGenerator.bindings.cs:578)
UnityEngine.Audio.ProcessorHeader:wrapper_native_indirect_0x9dee41fb8(IntPtr&, ProcessorHeader*, ProcessorFunction, Void*)
UnityEngine.Audio.ProcessorHeader:InvokeProcessor(ProcessorFunction, Void*) (at /opt/UnitySrc/unity1/Modules/Audio/Public/ScriptableProcessors/ScriptBindings/ScriptableProcessor.bindings.cs:627)
UnityEngine.Audio.RealtimeContext:Process(GeneratorInstance, ChannelBuffer, Arguments) (at /opt/UnitySrc/unity1/Modules/Audio/Public/ScriptableProcessors/ScriptBindings/RealtimeContext.cs:67)
Realtime:Process(RealtimeContext&, Pipe, ChannelBuffer, Arguments) (at Assets/Scripts/Parent.cs:26)
Realtime:UnityEngine.Audio.GeneratorInstance.IRealtime.Process(RealtimeContext&, Pipe, ChannelBuffer, Arguments)
UnityEngine.Audio.JobStruct`1:Execute(Storage&, IntPtr, IntPtr, JobRanges&, Int32) (at /opt/UnitySrc/unity1/Modules/Audio/Public/ScriptableProcessors/ScriptBindings/ScriptableGenerator.bindings.cs:578)
Sign in to see your voted issues