Android Unity Cloud Build Taking Very Long Time (5+ Hours) Due To IL2CPP (Build is 20 mins locally)

Hey all,

Our Unity Cloud Build was working within a reasonable time frame before (~1 hr), but then suddenly jumped up to 5 hours a few days ago. Our iOS cloud build is still taking about 1 hour (which is alright, it’s a big project), but 5 hours is a bit much.

It’s possible I messed with some unintended settings, although I’m having a bit of trouble tracking down which one. Does anyone have ideas on what could cause this?

Here are our logs - You can see the IL2CPP step is taking the bulk of time from the timestamps:

[2022-06-22T03:52:08Z - Unity] Invoking il2cpp with arguments: --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="BUILD_PATH/p\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="BUILD_PATH/p\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/Android/ndk-r19" --enable-debugger --incremental-g-c-time-slice=3 --profiler-report --map-file-parser="C:/Program Files/Unity/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory=BUILD_PATH/p/Temp/StagingArea/assets/bin/Data/Managed --generatedcppdir=BUILD_PATH/p/Temp/StagingArea/Il2Cpp/il2cppOutput
[2022-06-22T06:07:53Z - Unity] C:\Program Files\Unity\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe exited after 8143171 ms.
[2022-06-22T06:07:53Z - Unity] DisplayProgressbar: IL2CPP
[2022-06-22T06:07:53Z - Unity] Invoking il2cpp with arguments: --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARM64" --configuration="Release" --outputpath="BUILD_PATH/p\Temp\StagingArea\assets\bin\Data\Native\arm64-v8a\libil2cpp.so" --cachedirectory="BUILD_PATH/p\Assets\..\Library\il2cpp_android_arm64-v8a/il2cpp_cache" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/Android/ndk-r19" --map-file-parser="C:/Program Files/Unity/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --generatedcppdir=BUILD_PATH/p/Temp/StagingArea/Il2Cpp/il2cppOutput --dotnetprofile="unityaot" --enable-debugger
[2022-06-22T07:29:18Z - Unity] C:\Program Files\Unity\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe exited after 4884689 ms.
[2022-06-22T07:29:20Z - Unity] Android PostProcess task "IL2CPP" took 13060528.3384 ms

It happens on both Mac and Windows runners. I’m currently going to try cloning our iOS runner and building the Android one from its config, but if anyone has ideas on the root cause, I’m all ears

Seems like the culprit was building it for Debug Mode (which is different from development mode)? In any case I recreated the whole config with everything but the same and it’s back to normal build times

1 Like