iOS Bridge - Unity with UIKit

iOSBridge - the library for synergy iOS UIKit user interface and 3D scenes from Unity.
It helps to switch between UIKit and Unity view controllers.

Examples of Usage:

  • Registration forms, image picking and maps integration to Unity3D apps
  • Content shop with in-App purchases integration in Unity games
  • 3D view in iOS apps (for example, 360° room view, animated 3D models, etc)
  • Unity3D-based augmented reality in iOS apps
  • Create full GUI system in iOS Storyboard using just simple Unity elements without complex GUI systems

Features

  • It can open UIKit interface automatically after application launch
    iOS Bridge object in Unity has special flag, that can be used to turn on UIKIt autostart.You can create UIKit application, that shows something in 3D. Or Unity application that sometimes need to show native iOS user interface.
  • Message transmission from Unity to UIKit and back
    Messages are strings that can be used to transmit information form Unity to UIKit and back. E.g. you can send information about level to load from UIKit to Unity. Or score results from Unity session to UIKit.
  • Unity pauses when switched to UIKit
    Unity can’t be unloaded, but can be paused to reduce CPU/GPU usage.
  • Open Unity scenes by name
    Unity scenes can be loaded by names. Just add scene to list in the build settings.
  • You can use Storyboard
    Or nib files. Or create interface programmatically. You can create Root View Controller any way.

Limitations

  • UnityPro
    iOS Bridge is native iOS plugin. It uses direct functions function calls from Unity, so it can work only with Unity iOS Pro version.
  • ARC not supported
    Automatec Refeference Counting(ARC) is not supported out of the box. You can create your own workovers to make ARC work.
  • UIKit must have root ViewController
    Root view controller can be changes during runtime if needed, but you should handle root view controller changes on your own.
  • Unity stays in memory all time, but can be paused
    Unity’s native API doesn’t allow full unload of unity. But it’s possible to pause Unity Scene to reduce CPU load. Also you can unload all unused resources to clean some memory.
  • Messages from UIKit to Unity can be sent only when Unity is active.
    Unity in pause can’t perform any actions. So you should switch to Unity or unpause it to use messages.

Buy for $25 in Asset store: https://www.assetstore.unity3d.com/#/content/9155
Our official site: http://blind-soft.info/iosbridge/
Documentation: http://blind-soft.info/iosbridge/documentation
Contact us:
http://blind-soft.info/iosbridge/contacts
blindgui@gmail.com

Hello

Is it possible to use your system to handle iOS native touch events from within a unity script in c#?

I’m trying to get notified directly from iOS when a finger move across the screen because Input.GetTouch() in unity drops messages under certain situations.

I was hoping that by using your sytem I’d be able to provide my own handler so I can process all touch events that iOS generates.

is such a thing possible with your plugin?

thanks.
-nacho.