Antes de nada#
El proceso general (escenas, Player Settings, Build) es el de exportar y publicar. Aquí van las particularidades del móvil, que son las que dan guerra.
Módulos y requisitos#
En Unity Hub, tu versión de Unity necesita el módulo de la plataforma:
- Android: módulo Android Build Support con SDK, NDK y OpenJDK (el Hub los instala). No hace falta Android Studio para exportar.
- iOS: módulo iOS Build Support. Y obligatorio un Mac con Xcode: Unity no genera el
.ipadirecto, genera un proyecto de Xcode que compilas allí.
IL2CPP y arquitecturas#
En móvil, Unity usa IL2CPP: convierte tu C# a C++ y lo compila a código nativo (más rápido y, en iOS, obligatorio). Es más lento de compilar que Mono, normal. En Android marca las arquitecturas ARM64 (obligatoria en Google Play; ARMv7 opcional). En Player Settings: Scripting Backend = IL2CPP, Target Architectures = ARM64.
Firmar la app#
Una app sin firmar no se instala en un dispositivo de verdad ni en la tienda.
- Android: creas un keystore (un archivo con tu clave de firma) en Player Settings → Publishing Settings. Guárdalo y no lo pierdas: si lo pierdes, no podrás volver a actualizar tu app en Google Play nunca. Google Play pide el formato AAB (Android App Bundle), no APK, para publicar.
- iOS: la firma va por el provisioning profile y el certificado de tu cuenta de Apple Developer, gestionados en Xcode. Necesitas cuenta de desarrollador de Apple (99 $/año) para publicar.
El flujo de iOS (Xcode)#
- En Unity: plataforma iOS → Build → genera una carpeta de proyecto Xcode.
- Ábrela en Xcode (en un Mac).
- Configura firma (equipo/provisioning), icono y permisos.
- Compila y sube a App Store Connect (o a un dispositivo de prueba).
APK vs AAB (Android)#
| APK | AAB (App Bundle) | |
|---|---|---|
| Instalar directo en un móvil de prueba | Sí | No (es para la tienda) |
| Publicar en Google Play | No (ya no) | Sí (obligatorio) |
| Tamaño de descarga para el usuario | Todo el paquete | Optimizado por dispositivo |
Para probar en tu móvil, genera un APK (o Build and Run). Para publicar, un AAB.
Checklist de móvil antes de publicar#
Errores frecuentes#
- No activar ARM64 → Google Play rechaza el AAB.
- Perder el keystore de Android → no puedes volver a actualizar tu app en la tienda.
- Intentar generar iOS sin Mac/Xcode (imposible: Unity solo crea el proyecto Xcode).
- Probar solo en el editor y llevarse el susto de rendimiento/táctil en el teléfono.
- Guardar en rutas sin permiso en vez de
persistentDataPath.
Ponte a prueba#
Resumen#
Compilar para móvil añade sobre el flujo normal: instalar el módulo de plataforma (Android trae SDK/NDK; iOS exige Mac + Xcode), compilar con IL2CPP y ARM64, y firmar la app (keystore en Android —¡no lo pierdas!—, provisioning en iOS). Google Play pide AAB para publicar y APK para probar; iOS se termina en Xcode. Prueba siempre en dispositivo real, optimiza con el Profiler y pasa el checklist antes de subir a la tienda.