From fc728454d030201c45963ca903fd2fd47a6270d2 Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Mon, 2 Mar 2026 15:04:33 +0100 Subject: [PATCH] Fix raw PCM multicast exceeding UE5 replicated array limit UE5 limits replicated TArrays to 65535 elements. ElevenLabs sends audio chunks up to ~72K bytes, exceeding this limit when sent as raw PCM. Split into 32000-byte sub-chunks (1s of 16kHz 16-bit mono) before calling MulticastReceiveAgentAudio. Co-Authored-By: Claude Opus 4.6 --- .../PS_AI_ConvAgent_ElevenLabsComponent.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp index e41a9f0..83d5732 100644 --- a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp +++ b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp @@ -658,14 +658,25 @@ void UPS_AI_ConvAgent_ElevenLabsComponent::HandleAudioReceived(const TArray Chunk; + Chunk.Append(PCMData.GetData() + Offset, ChunkSize); + MulticastReceiveAgentAudio(Chunk); + Offset += ChunkSize; } - MulticastReceiveAgentAudio(PCMData); } }