UE5.1 arm64 plugin package issue fix!

Alright so I was trying to package my code plugin for UE5.1 to update on the marketplace, and I got this error:

Missing precompiled manifest for 'AISupportModule', '...\UE_5.1\Engine\Plugins\AI\AISupport\Intermediate\Build\Android\arm64\UnrealGame\Development\AISupportModule\AISupportModule.precompiled'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in AISupportModule.build.cs to override. If part of a plugin, also check if its 'Type' is correct.

And this error will pop up for all UE5.1 plugins. Looking at the files, I found the issue was the arm64 file didnt exist, but its subfolder, UnrealGame did, so instead of Android\arm64\UnrealGame, it was Android\UnrealGame. So my solution was to create a batch file to go through and replace all Android\UnrealGame with Android\arm64\UnrealGame, so make a file ‘fix.bat’ in your …“\UE_5.1\Engine\Plugins” directory, and paste in the following code, than run it:

@echo off
setlocal
setlocal enabledelayedexpansion
@echo off
for /d /r %~dp0 %%i in (Android\UnrealGame) do (
  @if exist "%%i" (
    @set _variable=%%i
    @set _variable=!_variable:~0,-11!
    @echo !_variable!
    mkdir "!_variable!\arm64"
    move "!_variable!\UnrealGame" "!_variable!\arm64"

    )
  )
pause
endlocal
2 Likes

Really appreciate your answer!

But the batch file seems didn’t work for me, those “.precompiled” still in the original directory. And “\arm64” didn’t create.

I follow your step to create a “fix.bat” and paste the code inside, and run as admin, and can’t get any change. Any idea? Thanksssssssss

You put it in the “…\UE_5.1\Engine\Plugins” directory?

Thanks for your quick reply!

Yes I put it inside “UE_5.1\Engine\Plugins”

And an arm64 folder doesnt exist in the Plugins Intermediate > Build > Android folder?

Also have you installed Android Studio, and selected the Android Package with 5.1?
image

Yes I’ve installed all the component, and with Android Studio’s SDK & NDK.

Maybe I should use another PC to try. Really thanks for your kindly reply :grinning:

I have similar issue, but another precompiled manifest.

Missing precompiled manifest for ‘Launch’, ‘C:\Program Files\Epic Games\UE_5.1\Engine\Intermediate\Build\Android\arm64\UnrealGame\Development\Launch\Launch.precompiled’. This module was most likely not flagged for being included in a precompiled build - set ‘PrecompileForTargets = PrecompileTargetsType.Any;’ in Launch.build.cs to override. If part of a plugin, also check if its ‘Type’ is correct.

UPD. Tnx! Your script solved it.

No problem! Glad it helped you!

@CudaCal add quotation marks to %~dp0

@echo off
setlocal
setlocal enabledelayedexpansion
@echo off
for /d /r "%~dp0" %%i in (Android\UnrealGame) do (
  @if exist "%%i" (
    @set _variable=%%i
    @set _variable=!_variable:~0,-11!
    @echo !_variable!
    mkdir "!_variable!\arm64"
    move "!_variable!\UnrealGame" "!_variable!\arm64"

    )
  )
pause
endlocal

Can you send me exactly what the precompiled error says? It will also create an error for Launch, at …\UE_5.1\Engine\Intermediate\Build\Android\arm64\UnrealGame\Development\Launch\Launch.precompiled, which the bat file does not fix, and you have to create the arm64 folder manually there.

the problem is a bug of UBT, I found a way to fix it:
open the UBT project with visualstudio form: UE_5.1\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj
and add code to UEBuildAndroid.cs

build the project, then plugin will build success, this solution no need copy folder.

1 Like