UE 5.6 Android linker error on non-virtual thunk to AController

Hello there @tom_m!

Checking through your log, the errors you are encountering have popped up around the community in similar cases. These “non-virtual thunk” errors are occurring because the linker can’t find the implementations of particular virtual functions in the AController and APlayerController classes.

The solution in most of these scenarios, was tied to eliminating any stale or mismatched intermediate files, so performing a clear cache is the best approach:

  • Close Unreal Editor
  • Delete the Binaries, Intermediate, and Saved folders from your project
  • Right-click your .uproject file and select “Generate Visual Studio project files”
  • Rebuild the project

The next step would be to make sure your Android setup is correct, and follows UE requirements:

  • Ensure that your SDK/NDK versions are correct for UE 5.6
  • Verify your Android SDK/NDK paths in Project Settings
  • Test switching between different Android architectures (arm64 vs armv7)

Further details can be found in the community’s documentation:

Alternatively, you can test with different pack settings for your build:

  • Enable “Package game data inside .apk”
  • Disable “Allow large OBB files”