From 3b98edcf92cabd686496a976afceb8d3a8b25504 Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Thu, 19 Feb 2026 13:02:33 +0100 Subject: [PATCH] Update memory: document confirmed UE 5.5 API patterns and plugin compile status Co-Authored-By: Claude Sonnet 4.6 --- .claude/MEMORY.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.claude/MEMORY.md b/.claude/MEMORY.md index 4ff24f8..36c1eb2 100644 --- a/.claude/MEMORY.md +++ b/.claude/MEMORY.md @@ -29,7 +29,15 @@ - Settings object: `UCLASS(config=Engine, defaultconfig)` inheriting `UObject`, registered via `ISettingsModule` - Module startup: `NewObject(..., RF_Standalone)` + `AddToRoot()` - WebSocket: `FWebSocketsModule::Get().CreateWebSocket(URL, TEXT(""), Headers)` -- Audio capture: `Audio::FAudioCapture` from the `AudioCapture` module + - `WebSockets` is a **module** (Build.cs only) — NOT a plugin, don't put it in `.uplugin` +- Audio capture: `Audio::FAudioCapture::OpenAudioCaptureStream()` (UE 5.3+, replaces deprecated `OpenCaptureStream`) + - `AudioCapture` IS a plugin — declare it in `.uplugin` Plugins array + - Callback type: `FOnAudioCaptureFunction` = `TFunction` + - Cast `const void*` to `const float*` inside — device sends float32 interleaved - Procedural audio playback: `USoundWaveProcedural` + `OnSoundWaveProceduralUnderflow` delegate - Audio capture callbacks arrive on a **background thread** — always marshal to game thread with `AsyncTask(ENamedThreads::GameThread, ...)` - Resample mic audio to **16000 Hz mono** before sending to ElevenLabs +- `TArray::RemoveAt(idx, count, EAllowShrinking::No)` — bool overload deprecated in UE 5.5 + +## Plugin Status +- **PS_AI_Agent_ElevenLabs**: compiles cleanly on UE 5.5 Win64 (verified 2026-02-19)