- Home /
Can I modify codes using Xcode after creating the app using Unity3d?
I haven't bought Unity3d for iOS so I am asking this.
I would need to add other stuff like iAd or AdMob, In-App purchases. Will the output be in Objective-C or C++? Can I import it back to Unity IDE?
Thanks!
Answer by dannyskim · Dec 17, 2012 at 04:23 PM
Assuming you're planning on buying Unity3D iOS, then the answer would be yes, you would have access to modify the project directly in Xcode to your heart's content. The files for the most part are Obj-C, and Obj-C is really a wrapper language on top of C, not C++, so if anything the alternative you would be programming in would be C. It's not really a 'wrapper' per say, it's more of a thin layer on top of C, and in fact, you can compile any C code inside of Xcode ( in relevance to Apple products ).
For plugin features and the ability to marshall code calls, you would need Unity3D iOS Pro so that you have access to System.Runtime.Interopservices. This would allow you to make marshaled code calls from whatever library / code files you have inside your Xcode project, directly from Unity3D. The Unity docs have some basic info to get you started on that front:
http://docs.unity3d.com/Documentation/Manual/Plugins.html
If you're familiar with iOS development at all, Unity generates a AppController.m file with it's respective AppController.h file, and this is typically the entry point for where you want to add initialization code calls for whatever plugins that you're trying to use, such as in the didFinishLaunchingWithOptions method where Unity itself is finally initialized. Other things that may be helpful is that the UIView that Unity uses is exposed inside of this file as well, which can be read using UnityGetGLView(), as well as the window, which I personally access by accessing the private member _window.