I’m currently trying a test build out to Meta Quest/Android using last state of 5.6 source-built branch, and hit this linking issue.
The provided src-patch seems to solve it. The problem seems to be it’s defined in the UE 5.6 source now, but it still won’t link in the Android build due to thread_local visibility issues, is my local guess.
My patch into my foobarModule.cpp and guessed reason, to fix it:
// Workaround for UE 5.6.x Android linker issue with thread_local symbols across .so boundaries
// Guessing Android NDK doesn't properly export thread_local variables from Core module's Scheduler.cpp
// See: https://forums.unrealengine.com/t/missing-reference-to-lowleveltasks-activetask-in-android-build/2666131
// TODO: Remove this when upgrading to UE 5.7+ (verify if issue is fixed)
#if PLATFORM_ANDROID && ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION == 6
namespace LowLevelTasks
{
thread_local FTask* FTask::ActiveTask = nullptr;
}
#endif