¡Buenas! Hoy he hecho un tutorial de cómo hacer un juego en Unity Engine para Nintendo 3DS en Windows y aquí os traigo otro sobre cómo exportar el juego a Nintendo Wii U, la consola de sobremesa de Nintendo.
Dado que ambos tutoriales requieren del Nintendo Developer Interface o NDI para configurar el Software Development Kit (SDK) de Nintendo, las dependencias serán las mismas y solo cambiará el archivo Megazarf del SDK. Por tanto y al igual que con Nintendo 3DS, hay que aclarar que este tutorial es para exportar una escena básica que acaba compilando una ROM funcional de forma nativa en una consola tanto retail como en emulador (Cemu). Sin embargo, hacer un juego complejo requerirá que tengáis conocimientos del motor y de programación ya que hacer un juego en un motor grande tiene una pequeña curva de aprendizaje. Además, vamos a usar el SDK oficial de Nintendo filtrado por la comunidad una vez deprecaron la consola. Si tenéis una licencia oficial de desarrollador, podéis descargar el mismo desde el portal de desarrollador de Nintendo y usar vuestros propios archivos. Si no y seguís esta guía, tendréis que "crackear" Unity para que se pueda usar sin licencia. Bien, ¡empezamos!
Paso 1. Prepara el SDK de Nintendo Wii U:
Si ya has leído el tutorial de Nintendo 3DS esto te parecerá repetitivo y puedes saltar hasta la parte de descarga del Megazarf si ya tienes configurado el NDI. Sin embargo y para los que vienen de nuevas, lo primero es saber qué es un "SDK". Bien, Un SDK, o Software Development Kit, es un conjunto de herramientas, programas y recursos que permiten a los desarrolladores crear aplicaciones para una plataforma. En este caso, Nintendo Wii U. Hay que tener en cuenta que el SDK de Nintendo está SOLO disponible para Windows por lo que cualquier otro sistema operativo queda descartado para desarrollo.
Bueno, para conseguir el oficial de forma "legal" tendríamos que habernos dado de alta en la plataforma de Nintendo como desarrolladores entre 2015 y 2019, haber aceptado los términos y condiciones y obtener el instalador y licencia desde el Nintendo Developer Interface o NDI. Si ya tenéis ésto podéis saltaros TODO este paso pues lo tendréis todo configurado de forma automática. En nuestro caso, ya que este tutorial va por otro camino, os dejo por aquí los pasos para instalarlo de forma extraoficial(muchas gracias a ElExtintorEnLlamas por hostear los archivos en su Google Drive):
y de paso, GHS_ROOT y CAFE_ROOT en Variables del sistema:
Una vez más, hecho esto ya podéis reiniciar Windows para que todo quede "limpio" de archivos temporales.
Paso 2. Prepara Unity Engine 2017.1.3p3:
Ya tenemos nuestro software de desarrollo, ahora falta el motor. En el caso de Unity for Wii U hubo soporte hasta la versión LTS de Unity 2017, lanzada en 2020. Sin embargo, todas las versiones por encima de 2017.1.3p3 dan problemas. Por eso, nos vamos a quedar con ésta, que es la más estable. Para ello:
Paso 3. Exportar nuestro juego de Unity Engine 2017.1.3p3 a Nintendo Wii U:
Ya temos Unity listo y abierto con nuestro nuevo proyecto. Vamos a hacer un export simple. Bien, debéis saber que Unity permite usar 2 cámaras, teniendo una para cada pantalla (TV y Gamepad) y así renderizar por separado. Esto es opcional ya que hay juegos que solo usan la TV y otros que usan ambas. En nuestro caso, seguiremos el ejemplo que hicimos en el tutorial de N3DS.
Paso 4. Probar nuestro juego en una consola real (retail hardware):
Ya tenemos nuestro juego funcionando en un emulador pero, ¿Qué hay de una consola real? Bueno, para comenzar y como no tenemos un kit de desarrollo, necesitamos que la consola esté hackeada con Custom Firmware (CFW). A ser posible Mocha CFW o similar que haga uso de IOSUHax y que tenga ya GXInstaller para instalar WUPs y otros juegos de Wii U desde la tarjeta SD. Pero dirás, Unity ha creado unas carpetas que mencionabas que no funcionan. ¿Cómo hago que esas valga para una consola real? Bien, para ello tendremos que hacer una serie de pasos extra:
Con todo esto aquí podéis hacer fangames como los míos y tenerlos en vuestra consola real de Nintendo. Incluso, la parte chula es que si hacéis un juego en Unity 5.6.6f2 para 3DS y luego una vez terminado lo abrís en 2017.1.3p3 y exportáis a Wii U, ¡tendréis el mismo juego en 2 plataformas sin apenas hacer cambios entre ellas!


¡Espero que os haya gustado y que más gente se anime a hacer cositas para la consola!
Créditos una vez más a ElExtintorEnLlamas por hostear los archivos en su Google Drive y dar inicio a la comunidad de Unity para Nintendo Wii U.
Dado que ambos tutoriales requieren del Nintendo Developer Interface o NDI para configurar el Software Development Kit (SDK) de Nintendo, las dependencias serán las mismas y solo cambiará el archivo Megazarf del SDK. Por tanto y al igual que con Nintendo 3DS, hay que aclarar que este tutorial es para exportar una escena básica que acaba compilando una ROM funcional de forma nativa en una consola tanto retail como en emulador (Cemu). Sin embargo, hacer un juego complejo requerirá que tengáis conocimientos del motor y de programación ya que hacer un juego en un motor grande tiene una pequeña curva de aprendizaje. Además, vamos a usar el SDK oficial de Nintendo filtrado por la comunidad una vez deprecaron la consola. Si tenéis una licencia oficial de desarrollador, podéis descargar el mismo desde el portal de desarrollador de Nintendo y usar vuestros propios archivos. Si no y seguís esta guía, tendréis que "crackear" Unity para que se pueda usar sin licencia. Bien, ¡empezamos!
Paso 1. Prepara el SDK de Nintendo Wii U:
Si ya has leído el tutorial de Nintendo 3DS esto te parecerá repetitivo y puedes saltar hasta la parte de descarga del Megazarf si ya tienes configurado el NDI. Sin embargo y para los que vienen de nuevas, lo primero es saber qué es un "SDK". Bien, Un SDK, o Software Development Kit, es un conjunto de herramientas, programas y recursos que permiten a los desarrolladores crear aplicaciones para una plataforma. En este caso, Nintendo Wii U. Hay que tener en cuenta que el SDK de Nintendo está SOLO disponible para Windows por lo que cualquier otro sistema operativo queda descartado para desarrollo.
Bueno, para conseguir el oficial de forma "legal" tendríamos que habernos dado de alta en la plataforma de Nintendo como desarrolladores entre 2015 y 2019, haber aceptado los términos y condiciones y obtener el instalador y licencia desde el Nintendo Developer Interface o NDI. Si ya tenéis ésto podéis saltaros TODO este paso pues lo tendréis todo configurado de forma automática. En nuestro caso, ya que este tutorial va por otro camino, os dejo por aquí los pasos para instalarlo de forma extraoficial(muchas gracias a ElExtintorEnLlamas por hostear los archivos en su Google Drive):
- Primero descargaremos las dependencias que requiere el SDK. Si lo instalamos desde el la página de desarrolladores de Nintendo este paso es automático pero en este caso, lo tendremos que hacer a mano. Por un lado instalamos el Microsoft .NET SDK 6.0 o superior desde la página oficial (https://dotnet.microsoft.com/es-es/download) y Microsoft .NET Framework 3.5 SP1 desde la página de microsoft o desde las opciones de Windows (https://dotnet.microsoft.com/es-es/download/dotnet-framework/net35-sp1). Simplemente descargamos, instalamos como cualquier otro programa y reiniciamos el PC.
- Una vez hecho esto, vamos a instalar todo. Vamos a usar la versión del NDI de 2018, que podéis descargar desde este enlace. Una vez descargamos, lo instalamos haciendo doble click en el ejecutable y una vez finalizado debería abrirse. Veréis algo como esto:
- Como no tenemos licencia oficial en este punto, no podremos descargar los archivos directamente de los servidores de Nintendo. Sin embargo, ya lo prepararon para imprevistos y se puede instalar de forma offline si tenemos el Megazarf (es un formato de compresión similar a ZIP propietario de Nintendo). Por tanto, lo descargaremos desde este enlace y NO lo descomprimimos todavía, simplemente lo dejamos donde nos acordemos de donde está.
- Volvemos al NDI y seleccionamos "Dev Environments" para crear nuestro entorno de desarrollo. Veremos 3 opciones, Create my own (si tenemos licencia oficial), Create from archive (el que vamos usar) y link to existing (si ya tenemos previamente uno instalado). Seleccionamos Create from archive y donde pone Megazarf file, seleccionamos en Browse y seleccionamos el megazarf que descargamos justo antes. Se nos debería configurar el entorno de desarrollo por defecto en C:\Nintendo\SDK, aunque podemos cambiar la ruta si no nos gusta. Yo recomiendo que se quede ahí porque TODOS los SDK de Nintendo se centralizan ahí.
- Damos a Install y dejamos que instale todo lo necesario. En este caso será el CAFE SDK, Wii U App Configuration Tool, Master Editor y algunos plugins extra como son PIA y NEX para multijugador y soporte de video nativo. Es muy similar a Nintendo 3DS pero aquí ya viene todo más empaquetado.
- Cuando termine ya podemos cerrar el NDI. Sin embargo, te preguntarás, en N3DS se usa ARMCC 5 para Nintendo Setup para la toolchain y licencia de compilación... ¿no hay nada así en Wii U? Bueno, pues sí, tienes razón. MULTI 5 es el compilador y toolchain para Nintendo Wii U. Si descargas el SDK desde los servidores de Nintendo, MULTI se instala automáticamente. En nuestro caso tenemos que hacerlo a mano. Para ello, lo descargamos de este enlace, y lo descomprimimos donde nos acordemos.
- Abrimos la carpeta que acabamos de descomprimir y ejecutamos setup_windows.exe. Se nos abrirá Green Hills Software Setup, el compilador para PowerPC versión 5.3.27 (la Wii U). Damos a Continuar y seleccionamos que queremos una nueva instalación con core components y documentation seleccionados. El directorio de instalación aunque se pueda cambiar, lo recomendable es dejarlo en C:\ghs\multi5327 (ruta por defecto). Por otro lado y al igual que en N3DS, desmarcamos todo en File Association ya que no queremos que el compilador se asocie a nada y si queremos, podemos crear un acceso directo en el escritorio para tenerlo a mano.
- Finalmente damos a Install y se nos instalará la toolchain y compilador de Wii U para Windows. Antes de cerrar la ventana de instalación abrimos MULTI mediante el hipervínculo que pone "Click here to launch MULTI" en el último proceso de la instalación. Si ya la hemos cerrado podemos hacer doble click sobre el ejecutable (o acceso directo) del mismo y se nos abrirá por igual.
- MULTI nos pedirá una licencia de uso. Debemos seleccionar "Install licenses from a file". Se nos abrirá el explorador de Windows con filtro de archivos .lck. El archivo que debemos seleccionar debemos descargarlo de este enlace. Se trata una versión modificada ya que aunque obtengas el SDK desde los servidores de Nintendo la licencia del compilador expiró por igual. Una vez seleccionada pulsamos Install y como directorio destino dejamos el de por defecto y damos a OK y si nos pregunta que si queremos crear una licencia de administrador, le damos a que YES.
- Una vez todo hecho, nos preguntará si queremos lanzar MULTI de nuevo. Lanzamos MULTI para comprobar que esté todo correctamente activado. Si no pide nada más (saldrá una ventana con un texto de información únicamente), está todo correcto y podemos continuar. Ahora vamos a ir a las variables de entorno y a asegurarnos que para este punto tengamos todo configurado. Deberían estar obligatoriamente configuradas CAFE_ROOT (el sdk de Wii U) y GHS_ROOT (ruta a MULTI5). Si es así, tenemos todo listo y podéis reiniciar Windows para que todo quede "limpio" de archivos temporales. Si llegaran a faltar, las añadimos Variables para "mi usuario de windows" junto con la de NEX y PIA (para el multijugador y reproducción de vídeo nativo):
y de paso, GHS_ROOT y CAFE_ROOT en Variables del sistema:
Paso 2. Prepara Unity Engine 2017.1.3p3:
Ya tenemos nuestro software de desarrollo, ahora falta el motor. En el caso de Unity for Wii U hubo soporte hasta la versión LTS de Unity 2017, lanzada en 2020. Sin embargo, todas las versiones por encima de 2017.1.3p3 dan problemas. Por eso, nos vamos a quedar con ésta, que es la más estable. Para ello:
- Vamos a Instalar el motor en sí y el addon para Wii U. Podemos descargar el motor desde el unity Hub oficial o desde el enlace que os dejo aquí. Si lo descargáis del enlace, ejecutamos Unity Setup 2017.1.3p3.exe e instalamos donde queramos. Mucho cuidado con no sobrescribir otra versión del motor. Ponedlo en una carpeta propia si hace falta. Una vez finalizada la instalación, descargamos el addon de este enlace y lo instalamos de la misma forma. Veremos que se instala en la misma carpeta que hemos instalado Unity 2017.1.3p3 en la misma carpeta que acabamos de instalar el motor.
- Llegados a este punto volvemos a tener dos opciones: Si tenéis vuestra propia licencia de Wii U oficial, podéis abrir ya Unity y establecerla cuando os la pida. Si no, vamos a "crackear" Unity para que no requiera licencia. Para ello, descargamos UniHacker de Internet Archive desde este enlace. Lo descomprimimos donde nos acordemos y ejecutamos. Tenemos que seleccionar el Unity.exe que se encuentra donde hayamos instalado Unity 2017.1.3p3. Pondrá que se ha parcheado correctamente y podremos usarlo sin meter licencia ninguna.
- Abrimos Unity 2017.1.3p3 haciendo uso del acceso directo del escritorio, desde Cortana o yendo a la carpeta de instalación. Nos permitirá crear un proyecto sin poner licencia ninguna (si hemos seguido el paso anterior con unihacker) o poner nuestra licencia de Wii U vinculada a nuestra cuenta de Unity. Una vez hecho, creamos un proyecto nuevo y ya podemos usar Unity con normalidad. Vamos a cambiar la plataforma a Wii U mediante File > Build Settings y en la ventanita seleccionamos Wii U y damos a Switch Platform:
Paso 3. Exportar nuestro juego de Unity Engine 2017.1.3p3 a Nintendo Wii U:
Ya temos Unity listo y abierto con nuestro nuevo proyecto. Vamos a hacer un export simple. Bien, debéis saber que Unity permite usar 2 cámaras, teniendo una para cada pantalla (TV y Gamepad) y así renderizar por separado. Esto es opcional ya que hay juegos que solo usan la TV y otros que usan ambas. En nuestro caso, seguiremos el ejemplo que hicimos en el tutorial de N3DS.
- Vamos a crear una nueva cámara en la escena por defecto con click derecho en la jerarquía > Camera y seleccionando en el inspector en vez de TV, Gamepad para que se renderice en la pantalla del mando. Como estamos siguiendo el ejemplo de 3DS, modificaré el render del Background a Solid Color. En mi caso, pondré una en rojo y otra en azul.
- Además, voy a crear un Cubo que se vea en ambas pantallas mediante click derecho en la jerarquía > create 3d > Cube y lo coloco en medio.
- Guardamos la escena conControl + S o haciendo File > Save scene donde queramos en el proyecto.
- De nuevo en Build Settings la añadimos haciendo click en Add Open Scenes o arrastrando el archivo de escena ahí.
- Una vez hecho todo, volvemos a File > Build Settings, establecemos build debug level a Master [No Network], Build output a Download image y Boot Mode a NAND. Esto es OBLIGATORIO. Finalmente, damos a Build y seleccionamos dónde compilar.
- Se nos compilará y se nos abrirá una carpeta generada donde hayamos seleccionado llamada ToInstall/CopyToSDCard/Unity-master_p01 con archivos dentro; entre otras. Bien, para ejecutar nuestro juego en CEMU solo tenemos que agarrar las carpetas code, content y meta de la carpeta ToInstall. Si esas 3 las copiamos al directorio de juegos de CEMU (dentro de una carpeta para nuestro juego), nos lo detectará directamente. Seleccionando el juego en CEMU, nos debería dejar ejecutarlo sin ningún problema.
- Sin embargo, esto NO vale para una consola retail (hardware real). Solo para emulador o en el caso de tenerlo, un kit de desarrollo.
Paso 4. Probar nuestro juego en una consola real (retail hardware):
Ya tenemos nuestro juego funcionando en un emulador pero, ¿Qué hay de una consola real? Bueno, para comenzar y como no tenemos un kit de desarrollo, necesitamos que la consola esté hackeada con Custom Firmware (CFW). A ser posible Mocha CFW o similar que haga uso de IOSUHax y que tenga ya GXInstaller para instalar WUPs y otros juegos de Wii U desde la tarjeta SD. Pero dirás, Unity ha creado unas carpetas que mencionabas que no funcionan. ¿Cómo hago que esas valga para una consola real? Bien, para ello tendremos que hacer una serie de pasos extra:
- Descargamos CDecrypt del paquete de Wii U Tools que podéis encontrar en este enlace. Lo podéis descomprimir donde queráis pero dejad esa carpeta abierta.
- Ahora hay que arrastrar la carpeta ToInstall/CopyToSDCard/Unity-master_p01 que se nos abrió al compilar, a CDecrypt.exe (está dentro de la carpeta "CDecrypt"). Saldrá una ventana de CMD (no te preocupes) parseando todos los archivos de la misma y nos creará 3 nuevas carpetas dentro de ToInstall/CopyToSDCard/Unity-master_p01 llamadas code, meta y content (las mismas que usamos en cemu pero ahora desencriptadas).
- Para evitar problemas las sacamos de ahí a otra carpeta que nos acordemos y que esté fuera de todo (cortamos y pegamos a otra).
- Descargamos CNUSPacker de este enlace y lo descomprimimos donde queramos.
- Abrimos el archivo "encryptKeyWith" en cualquier editor de texto y establecemos la clave única de Wii U, también conocida como "Wii U Common Key" (esto lo encontráis rápido por internet, es que tiene copyright). Una vez puesta, la guardamos.
- Abrimos la consola de comandos en esa carpeta (CMD) mediante click derecho > Abrir terminal aquí o seleccionando arriba en la ruta (C:\Mis carpetas... o lo que sea) y escribiendo CMD + Enter.
- Ejecutamos el comando
CNUSPacker.exe -in "ruta a la carpeta donde cortamos los archivos desencriptados de CDecrypt" -out "Ruta a donde queramos que se nos guarden los archivos finales". Por ejemplo:CNUSPacker.exe -in "C:\MiProyecto\Build\Decrypted" -out "C:\MiProyecto\Build\GXInstaller" - Se nos generará otra carpeta encriptada pero que ahora nuestra consola SÍ puede leer.
- Copiamos los archivos a la SD de la Wii U en la carpeta Apps.
- Vamos a la consola > WUP GX2 Installer o ejecutamos IOSU HAX para abrir Mocha CFW > GX2 Installer.
- Nos saldrá en la lista de instalaciones nuestro juego (encrypted). Lo seleccionamos y se nos instalará sea a la NAND o a un USB (si lo tenemos). Ahí como queráis.
- Una vez instalado, ya podemos volver al menú de nuestra consola para ver que ha aparecido una nueva app llamada Dummy.
- Al ejecutarlo ya tendremos nuestro juego listo.


¡Espero que os haya gustado y que más gente se anime a hacer cositas para la consola!
Créditos una vez más a ElExtintorEnLlamas por hostear los archivos en su Google Drive y dar inicio a la comunidad de Unity para Nintendo Wii U.
Última edición: