I have my custom build script and I want to add more options in it. One of them is Target Architectures. (I'm using IL2CPP as a scripting backend - I set it by script)
Here you can see which settings I want to change:
According to docs I can use PlayerSettings.SetArchitecture(), but it seems not to work for me at all. It only has an option for 0 - None, 1 - ARM64, 2 - Universal and I want All. So I tried using:
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.All));
but it doesn't change anything, also the lines below does not change anything:
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.ARM64));
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.ARMv7));
PlayerSettings.SetArchitecture(BuildTargetGroup.Android, unchecked((int)AndroidArchitecture.X86));
I'm wondering how I can do it correctly?
The second parameter of the PlayerSettings.SetArchitecture
function expects 0
for None, 1
for ARM64 and 2
for Universal. This is not what you are really looking for.
With the screenshot in your question, you are looking for the PlayerSettings.Android.targetArchitectures
property which can be used to set ARM64, ARMv7 or X86 as the build architecture with the AndroidArchitecture
enum.
To set only one architecture:
PlayerSettings.Android.targetArchitectures = AndroidArchitecture.X86;
To set only multiple architecture, use enum flags since AndroidArchitecture
is declared with the Flags
attribute which allows the bitwise manipulations to be used to select multiple values:
AndroidArchitecture aac = AndroidArchitecture.ARM64 | AndroidArchitecture.ARMv7 | AndroidArchitecture.X86;
PlayerSettings.Android.targetArchitectures = aac;
or
AndroidArchitecture aac = AndroidArchitecture.ARM64;
aac |= AndroidArchitecture.ARMv7;
aac |= AndroidArchitecture.X86;
PlayerSettings.Android.targetArchitectures = aac;
You can learn more about enum flags here.
If you just want to use all the architectures then simply use AndroidArchitecture.All
.
PlayerSettings.Android.targetArchitectures = AndroidArchitecture.All;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With