unity3d - How to properly integrate Unity + Vuforia into an existing native iOS Project?


Keywords:ios 


Question: 

We have created a project with Unity 2017.3 and Vuforia 6.0.114 and need to integrate it into a native iOS App with already existing AppDelegate and existing ViewContollers. We still want to launch our own AppDelegate and starting ViewController but on some point later the Unity+Vuforia-Controller shall be entered.

We are familiar with the process of integrating a Unity App into a native iOS App itself and we made everything work fine as long as there is no Vuforia involved.

The problem is that Vuforia itself subclasses Unity's Controller (in VuforiaNativeRendererController.mm) by using the IMPL_APP_CONTROLLER_SUBCLASS(VuforiaNativeRendererController) mechanism.

This is actually the same way we subclass our own iOS native App, thus we have a conflict. We can either start our part and take control of Unity or let Vuforia do it.

The question now is: Is it possible to somehow further subclass Vuforia or something similar? And if so, how could this be achieved?


1 Answer: 

We recently hit that exact same road bump. Using this method to integrate the Unity app into our existing native iOS project, we managed to bypass the renderer issue. Just make sure you turn off Auto Graphics API in Unity's player settings and use OpenGLES2 instead of Metal

Unity player settings