Cómo integrar Unity en un proyecto Swift 3 iOS

Me preguntaba qué podría ser la mejor estrategia para implementar un proyecto Unity en un proyecto Swift 3 iOS ya existente. Hasta ahora solo descubrí código de muestra en Objective-C. ¿Hay algún marco o envoltorio popular por ahí?

En mi opinión, esta guía es extremadamente útil:

https://github.com/blitzagency/ios-unity5

Tenga en count que hay algunas trampas:

Primero tuve varios errores de vinculación, pero no tuve en count que la configuration del proyecto Unity se configuró solo para "dispositivos reales". Cuando intenté build el proyecto en el simulador, tuve más de 100 errores de compilation.

Luego traté de comstackrlo en mi dispositivo de testing, pero todavía había algunos errores, hasta que noté que tenía que agregar algunos de esos frameworks necesarios, que se enumeran allí mismo:

https://github.com/blitzagency/ios-unity5/issues/36#issuecomment-303716827

AssetsLibrary, AudioToolbox, AVFoundation, CFNetwork, CoreGraphics, CoreLocation, CoreMedia, CoreMotion, CoreVideo, Foundation, iAd, libiconv.2.tdb, MediaPlayer, MediaToolBox, (este fue el que falta) OpenAL, OpenGLES, QuartzCore, Security, SystemConfiguration, UIKit , libiPhone-lib.a, libVuforia.a *, libVuforiaUnityPlayer.a *

* solo si usa Vuforia en su escena

El último y más importante paso es seguir los consejos enumerados en la siguiente request de extracción, luego se ejecutará perfectamente con Swift 3:

https://github.com/blitzagency/ios-unity5/pull/42

se combinaron las evoluciones actuales de otras horquillas (como la compatibilidad con Swift 3), se actualizaron para trabajar con Unity 5.5.2, Xcode 8.3.2 y Swift 3.1, eliminaron algunas repeticiones como main.swift, añadieron la posibilidad de pausar la unidad para aprovechar al máximo los cpu networkingucidos y por lo tanto el consumo de batería, cuando la unidad no está funcionando (activo)

Si usa Cocoa Pods, es mejor no usar el file de configuration provisto por este repository. De hecho, terminé manipulando todas las configuraciones de compilation manualmente, por lo que no habrá conflictos con el file de configuration de pod.

Espero poder ayudarte un poco.

Feliz encoding

El tutorial mencionado en la respuesta aceptada es una buena guía paso a paso para integrar el proyecto Unity a Swift.

Sin embargo, hay algunos cambios necesarios para Swift 4 y Unity 2017.1. Aquí hay un proyecto de demostración en caso de que alguien lo necesite.