Intentaré responder a tu pregunta en términos sencillos, empecemos con las definiciones y pasemos a los pros/contras:
Xcode es una solución basada en Apple (usando macOS) que te permite desarrollar soluciones para los principales sistemas operativos (OS) de Apple, incluyendo macOS, iOS, watchOS y tvOS.
Unity es un motor 3D (significa que puedes crear contenido 2D y 3D). Los resultados de Unity se pueden implementar como juegos o aplicaciones, y pueden ejecutarse en casi todas las plataformas, ya sean mac, windows, páginas web, aplicaciones, etc.
Por lo tanto, en términos comparativos para hacer juegos de iOS, aquí están los Pros y los Contras:
- Pros de Xcode: desarrolla software para cualquier solución basada en Apple.
- Contras de Xcode: no produce nada en 3D. Requiere un ordenador Apple para crear.
- Pros de Unity: crea contenido 2D o 3D para cualquier plataforma.
- Contras de Unity: para publicar tu solución en un producto Apple, tendrás que añadirlo a Xcode (usando un Mac).
En resumen, para publicar un juego/app 2D o 3D, probablemente desarrollarás el juego en un motor como Unity, y luego para publicarlo en iOS tendrás que añadirlo a Xcode.