Troubleshooting
Language Model Staging Issues
Most of the issues are related to the language model staging, which can cause problems in the packaged build. Namely, you might encounter the following logs:
LogRuntimeSpeechRecognizer: Error: Language model loading failed: Failed to load the language model asset '/RuntimeSpeechRecognizer/LanguageModels/LanguageModel.LanguageModel'
To fix this, go to Project Settings, then navigate to Project -> Packaging section. Scroll down and reveal the Advanced category, and make sure that:
DirectoriesToAlwaysCook(labeled asAdditional Asset Directories to Cook) has an entry for/RuntimeSpeechRecognizer/LanguageModelsinside. This is done automatically by the plugin during editor-time, but some users have reported having to do it manually, so please make sure to check. This is necessary to ensure that the language model asset is always staged in the packaged build.

bCookMapsOnlyis set tofalse. If it's set totrue, it will ignore the previous property, and there is a possibility that the language model asset will not be staged properly. This is also done automatically by the plugin, but just to be certain, please check this variable manually as well.

There may be other properties that can affect the engine's packaging behavior, which might be added to this page later as they are investigated.
Android and iOS Crashes
In some cases on Android and iOS, crashes may occur during runtime (such as during TestFlight testing). This is caused by the underlying whisper.cpp library's memory allocation requirements conflicting with Unreal Engine's default allocators on these platforms. On other platforms, FMalloc defaults to the ANSI allocator, so this issue is specific to Android and iOS.
To resolve this, you need to force the ANSI allocator in your project's Target.cs file:
For Unreal Engine 5.5 and earlier:
- Your project must use a source-built engine (not a pre-compiled binary)
- Add the following line to your
Target.csfile:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
For Unreal Engine 5.6 and later:
- Works with both source-built and pre-compiled engine builds
- Add the following line to your
Target.csfile:
StaticAllocator = StaticAllocatorType.Ansi;
This forces Unreal Engine to use the ANSI allocator on Android and iOS, matching the allocator used by whisper.cpp.