I have created a Video Tutorial detailing the process of building the engine from Github source compiling for development with OpenGL ES3.1 and the Android Extension Pack to allow near PC level rendering quality on the Nvidia Shield Tablet.
I hope that the tutorial is useful for people working on Android projects and projects aimed specifically at Shield hardware. You can find the tutorial below:
Is it essential to use the GitHub version to do this?
Need to deploy to a Shield tablet today in fact with Desktop Rendering, so hoping this is relatively straightforward. I only have the Binary version of the Engine installed atm, getting the GIT version is going to be… problematic on Source Control.
hi, theonebutcher
thank you for your help! Im also trying to build for Tegra K1, Shield Tablet.
I tried this tutorials, but found some differences.
After installation TADP(4.0r1), I setup the batchfiles(Setup,Generate…). But I couldnt find the Solution Platform “Tegra-Android”(just only “Android”).
How can I select that platform? ( or failed to install TADP?)
After all compiling, I cant find the packaging Android list “Android(ES31-AEP)” on my built UE4-Editor.
I packaged for Android(DXT) with ES31 and successed getting xxx-armv7-es31.apk.
But when tried to execute on Device, “GlobalShaderCache-GLSL_310_ES_EXT.bin is missing” error happened and stopped.
How can I find this .bin file?
I can confirm that you can deploy to the shield without going near the github version. However the TADP installer included with ue4 or in the pack didn’t work for me as it wouldn’t detect the shield for deployment. I had to get TADP installer individually from the Nvidia site before it would work. I’m in work at the moment so I don’t have links, I did this back in 4.6 I think it was. EDIT : probably wasn’t the newest openGL so you may need the github version
as far as I can tell, you currently can’t enable Android OpenGL ES 3.1 + AEP in the binary version, it’s grayed out and the tooltip says “This requires github source”.
so yes, you may be able to deploy to a shield device with the binary from the installer… however, it’s probably not running opengl es 3.1 + aep. To take full advantage of the tegra k1 / x1 hardware, you want opengl es 3.1 + AEP.
edit: however, I tried following this video with 4.8 source and wasn’t able to follow. I have the tegra android pack installed, but there was no “Android-Tegra” build configuration option in visual studio. I did see the OpenGL ES 3.1 + AEP option enabled in the editor, however I did not have the option to Package the project for Tegra. I tried packaging it for DXT instead, and it looked identical to when i built it with the binary editor from the epic installer.
however I am using a shield console instead of a shield tablet, so im not sure if it’s something to do with tegra k1 vs x1, etc… and I’m an UE noob, so that doesn’t help.
In any case, it will be nice with Android OpenGL ES 3.1 + AEP doesn’t require github source…
Yeah, looks like it does require Source regardless. Trying this with 4.8.1 now.
I did change the config file settings in DefaultEngine.ini in my Project, which DID check the ES31 option. However, I’m not given the ES3.1 + AEP option in-editor (though I am given ATSC, whatever that is).
Definitely have the TADP installed since I’ve been using it for a while with the latest Shield software, but still not getting a Tegra-Android build option in VS…
EDIT: Yup, this tutorial no longer works for me. Certainly in 4.8, anyway.
In case anyone is interested to get a solution to my above-mentioned problem: Do not use the provided Android Works application, go download the latest version, install it and plug in your console on the USB port. That should do it
In my expirience with 4.10 branch, engine compiles only with VS2013. VS2015 hangs with infinity find.exe process on configuring build.
When *.so’s compiled, there is no much .a libraries, like in binary engine version, but, there is one .so and one .apk per es.
I compiled engine with Development Editor (Win64), then Development (Win64), then Shipping (Android), because in binary engine version there is only UE4Game-Android-Shipping-armv7-es2.so and also its size is the smallest. When I trying to package my game, it starts to compile *.so’s again! I’m using development package. Do I need development android .so build?