- Home /
Why doesn't IL2CPP support latest version of NDK?
When I try to build apk using latest version of NDK, it fails and tells me that it requires NDK r10e which was released 2 years ago (May 2015)
Why do I have to use NDK r10e for IL2CPP? any answers?
Answer by JoshPeterson · Sep 25, 2017 at 12:12 PM
The latest versions of Unity use the r13b NDK, which still is not the newest, but is newer than r10e. In general, upgrading the NDK version is a large task, so we try to be judicious about when and why we do it. Is there a feature in a new NDK you would like to use?
Thanks for the answer. I think you just need to update the documentation (https://docs.unity3d.com/$$anonymous$$anual/android-sdksetup.html) as it directs you to download the latest ND$$anonymous$$ version rather than r13b. If you click the button in the editor however it does take you to the correct version though.
We have submitted a fix for the documentation. Thanks for pointing that out.
I would like to use new features like Hardwarebuffer, amediacodec etc present in ndk r16. Hardwarebuffer especially is a must for my use case. When can I expect ndk 16 upgrade with il2cpp?
We are working on an ND$$anonymous$$ upgrade now. I'm not sure what Unity release will have it, but I can say that it won't make the Unity 2018.2 release. It will be sometime after that.
I know this is relatively old, but I'm currently facing a major problem that render Unity simply useless. Basically, Unity requires us to use a specific version of the ND$$anonymous$$ and to get it, it requires that you get it from the HUB, but the HUB is a relatively one of the worse download manager I have seen in the last 10 years.
Hundreds of devs are unable to download anything with it because of how it's designed to manage the packets. Anyone with less than 8$$anonymous$$B/s download and a stable connection (wired, not wireless due to fluctuation of the signal) can't use the HUB at ALL. This forces us to download the installer (old installation method) which seems to not always includes the ND$$anonymous$$ package. (It includes the SD$$anonymous$$, but not the ND$$anonymous$$ most of the time).
Then we look around to check if we can get the ND$$anonymous$$ elsewhere... just to hit ourselves on a wall that keep telling us discreetly "Not this version, use the HUB please." I'm currently downloading the latest version available from the Installer (2019.2.6f1) with all the mobile & PC/$$anonymous$$ac Package (12GB) and if that one lack the proper ND$$anonymous$$, it means I'll be unable to use Unity for releasing any mobile game because any build I made with $$anonymous$$ono results in some codes being badly conversed and stripped. (parts of the buttons scripts gets removed in the build process.) I though of trying compiling the build with il2cpp backend to see if the conversion is better and less "forcefully" stripping the codes out of key core parts, but it keep telling me that the ND$$anonymous$$ is missing and when I try to set one I got from the forum, it tells me it's not the right version.
The least that should have been done, since updating the engine for the latest ND$$anonymous$$ seems to be a harduous task, would be to allow people to download it straight away with a clear link or something ins$$anonymous$$d of leaving the devs who can't use the HUB (out of their control) by themselves in a game of tag in the Web until one's lucky enough to find the exact version he needed.
I'm unsure about why downloads from the Hub are slow. Note that you can find the proper version of the ND$$anonymous$$ for your version of Unity here: https://docs.unity3d.com/$$anonymous$$anual/android-sdksetup.html (look near the bottom of that page).
You can download the ND$$anonymous$$ manually here: https://developer.android.com/ndk/downloads/older_releases.html