I am making a mobile game, starting with android, and am currently trying to get ads working in my game. I could not figure out how to get it working correctly by myself so I eventually decided to get this plugin to essentially do it for me.
I got this working in development mode, however it throws the following error which crashes the game in shipping mode.
“LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: === Handled ensure: ===
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error:
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: Ensure condition failed: oldValue == newValue [File:./Runtime/Core/Private/HAL/ThreadingBase.cpp] [Line: 190]
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: oldValue(0) newValue(1) If this check fails make sure that there is a FTaskTagScope(ETaskTag::EGameThread) as deep as possible on the current callstack, you can see the current value in ActiveNamedThreads(1)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: Stack:
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E6A6B4EBC libUnreal.so(0x0000000009291EBC)!IsInGameThread()
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E6B20D238 libUnreal.so(0x0000000009DEA238)!UObject::ProcessEvent(UFunction*, void*)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E6FB53B10 libUnreal.so(0x000000000E730B10)!AActor::ProcessEvent(UFunction*, void*)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E6BBD3754 libUnreal.so(0x000000000A7B0754)!void TScriptDelegate::ProcessDelegate(void*) const
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E71FE183C libUnreal.so(0x0000000010BBE83C)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E748A947C libUnreal.so(0x000000001348647C)!firebase::ReferenceCountedFutureImpl::ReleaseMutexAndRunCallbacks(firebase::FutureHandle const&)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E7490B568 libUnreal.so(0x00000000134E8568)!void firebase::ReferenceCountedFutureImpl::CompleteInternal<firebase::gma::AdapterInitializationStatus, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternalfirebase::gma::AdapterInitializationStatus(firebase::FutureHandle const&, int, char const*, firebase::gma::AdapterInitializationStatus const&)::{lambda(firebase::gma::AdapterInitializationStatus*)#1}>(firebase::FutureHandle const&, int, c
har const*, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternalfirebase::gma::AdapterInitializationStatus(firebase::FutureHandle const&, int, char const*, firebase::gma::AdapterInitializationStatus const&)::{lambda(firebase::gma::AdapterInitializationStatus*)#1} const&)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006E7490A7AC libUnreal.so(0x00000000134E77AC)
LogPlayLevel: Error: UAT: 05-06 09:12:35.502 18476 18476 D UE : [2025.05.06-15.12.35:502][195]LogOutputDevice: Error: [Callstack] 0x0000006FADF7EF74 libart.so(0x000000000037EF74) …”
My understanding is that it is switching from the game thread to some other thread, which is a “no-no” for some reason. Everything that I have looked up online says that if it is in blueprint, it automatically runs on the game thread…which is obviously false. This error occurs on an event from the plugin that I mentioned earlier. I have tried to reach out to the creator of the plugin, but they have not responded.