Update Feburary 19th: We have just released Unity4.6.3 which contains many iOS il2cpp improvements: Unity Blog
Update January 29th: We have just released Unity 4.6.2 which contains il2cpp for iOS and iOS 64-bit support.
Update January 23rd: We have just released Unity 4.6.1p5 which contains il2cpp for iOS and iOS 64-bit support.
Original Post:
We posted Unity 5.0 b19 in the Unity 5 Pre-Order Beta forum today for 5.0 pre-order customers. This build added iOS il2cpp and 64-bit support.
As we wrote before, we are also committed to bringing iOS il2cpp and 64-bit support back to Unity 4.6. So, here is the first public beta release (designated #2, #1 was a private beta only) of Unity 4.6 with iOS 64 support.
Please make sure you test this with us on projects you are currently developing or have on the appstore today; as per the Apple announcements, 64-bit support will be required for new apps starting the 1st of February 2015 and for that you will need to build with ARM64 and thus, IL2CPP support.
This build of 4.6 does not yet support Metal, that will come in a later beta. This build is in sync on IL2CPP support with Unity 5 b19 ARM64 build and is for the rest roughly equivalent to the latest 4.6 patch release build.
For more context about that that means; we’ve recently blogged about ios and ARM64 here; and we’ve got an in depth post on our strategy with IL2CPP here.
This build is early beta quality, with known issues, but we wanted to start getting builds out to you and see / hear how your project is doing on IL2CPP.
Some notes on work in progress / current state of this build.
- To enable IL2CPP and ARM64 support you should switch scripting backend to “IL2CPP” in the Player Settings/iOS tab.
- Build times are much longer, we are working on this.
- Build sizes are currently bigger than with Mono, we are working on this, but note that shipping a universal build will always be bigger due to the fact it ships both a 32bit and 64bit executable.
- This build is intended for iOS IL2CPP testing only, other platforms might not work as well as on general Unity 4.6 patch release builds.
- There is known issue that uGUI input fields won’t work with touch keyboards. Fix is on the way
- There is a known issue with codegeneration for marshalling of array of structs for pinvokes. If your project does this, it will fail to compile. This will be fixed in the next build.
Things we haven’t implemented yet;
- WebRequest API is not yet supported with IL2CPP, we are working on it.
- iOS simulator builds are not supported with IL2CPP backend, we are working on it.
- Managed code debugger is in progress, but won’t be available for initial release. For quite some time you would need to rely on Xcode debugger, which is now easier to use than with Mono scripting backend. If you need to debug managed code and rely on Monodevelop, you might consider switching back to mono backend for this task.
Please do note that Prime31 plugins are supposed to work with an updated version from those plugins by Prime31. Other plugins might or might not; we’d love to hear about those you are using that aren’t working correctly.
Download and test!
You can download latest build here:
http://beta.unity3d.com/download/4933178406/download.html
Please test your projects with this build and post feedback bugs for any issues you find. Please post case numbers of bugs specific to this build in this thread so we have a fast path for finding and verifying reports.
Kind Regards,
The iOS & IL2CPP team.