Native integration re-initialization

I’ve integrated Unity into a native iOS application using a combination of these two tutorials.

http://www.makethegame.net/unity/add-unity3d-to-native-ios-app-with-unity-5-and-vuforia-4-x/

I’m using my own app delegate and window, switching to unity’s window when the Unity view is required.

I’ve discovered that I can prevent Unity from launching and locking resources by delaying the calls to applicationDidFinishLaunching and applicationWillBecomeActive in the unityAppController. This is a great improvement as Unity isn’t actually running until I need it.

My Question is, is there a way to spin down Unity once it has launched? Calling the Unity controller’s applicationWillResignActive, applicationDidEnterBackground, and applicationWillTerminate callback methods don’t work as it puts unity in a state that I can not re-initialize from.

I’m using Unity 5.2.1f1 with il2cpp.
Xcode 6.4

Thanks in advance

Joe Simms

is, is there a way to spin down Unity once it has launched?
call UnityPause?

Calling UnityPause is not a good enough solution. I don’t want to simply pause Unity’s execution. I want to be able to completely remove it from memory and re-initialize it on command.

i dont think we currently support anything like this. On the other hand you can always load empty level, “garbage collect” assets and unity would use not so much mem afterwards