What do I need to do?
Unity games developers need to use a 64-bit compliant version. Unity provides Upgrade Guides to help you upgrade to a 64-bit compliant version.
Unreal Engine games developers need to enable
arm64 support in their project settings. The Porting Unreal® Engine 4 to ARMv8 presentation provides more information about this.
Most code written using Arm Neon intrinsics will compile for 64-bit without change.
However, if an application makes use of native code, developers will at the very least need to recompile for a 64-bit target, and may need to make changes to their source code to port your code to 64-bit.
Some common issues to be aware of when porting code from 32- to 64-bit include:
- Enable all warnings and errors when re-compiling your code. Take notice of any and all warnings issued by the compiler.
- Pay close attention to any explicit type casts in your code. Migrating from 32- to 64-bit changes the sizes of underlying types, which can cause problems.
- Hand-written assembly code will need rewriting.
- Bit manipulation operations need a bitmask of the correct width.
- Changes in the sizes of individual elements and in their respective alignment requirements will change the size of many structures, and may impact structure padding.
For a deeper exploration of the issues involved in porting code from 32- to 64-bit, see the Porting to 64-bit Arm whitepaper.