Saltar a contenido
Ver como presentación

Unity: instalación y configuración

Motores de videojuegos

  • ¿Qué era?
    • Software con las bases para ejecutar un videojuego
    • Específico para un tipo de juego
    • Para una plataforma
  • ¿Qué es?
    • Software para crear videojuegos (y más)
    • Permite crear para distintas plataformas
    • Incluye muchas herramientas útiles

El concepto de motor de videojuegos ha cambiado con el tiempo. En su origen, un motor era el software que contenía las bases para ejecutar un videojuego, y era muy específico: servía para un tipo de juego concreto y para una sola plataforma.

Hoy, un motor es un software para crear videojuegos (y más cosas) que permite crear para distintas plataformas e incluye muchas herramientas útiles.


Características deseables de un motor

  • Que sea multiplataforma
  • Distribución en distintas plataformas
  • Documentación y comunidad activa
  • Editor potente (previsualización, animadores, depuración, terrenos…)
  • Motores eficientes de físicas, renderizado, scripts…
  • Coste reducido
  • Curva de aprendizaje corta

¿Qué le pedimos a un motor? Para empezar, que sea multiplataforma y que permita distribuir los juegos en distintas plataformas. También, que tenga buena documentación y una comunidad activa.

En lo técnico, interesa que el editor sea potente (previsualización, animadores, depuración, terrenos…) y que sus motores de físicas, renderizado o scripts sean eficientes. Y, por último, que su coste sea reducido y su curva de aprendizaje, corta.


¿Por qué Unity?

  • Cumple con las exigencias
  • Gran comunidad
  • Versión básica gratuita
  • Editor multiplataforma y distribución multiplataforma
  • Entorno muy potente (aunque algo pesado)
  • Curva de aprendizaje aceptable
  • Los estudios profesionales tienen proyectos tanto en Unity como en Unreal

Unity cumple con esas exigencias. Tiene una gran comunidad, su versión básica es gratuita, y tanto el editor como la distribución de los juegos son multiplataforma. El entorno es muy potente (aunque algo pesado) y su curva de aprendizaje es aceptable.

Además, se usa en la industria: los estudios profesionales tienen proyectos tanto en Unity como en Unreal.


¿Por qué no Unreal?

La alternativa más evidente a Unity es Unreal Engine. Esta tabla compara los dos motores:

Unity 6.3 Unreal Engine 5.8
Equipo para el editor Windows 10 (21H1) o superior, macOS 13 o Ubuntu 22.04. 8 GB de RAM. Gráfica con DirectX 10 o Vulkan Windows 10 (22H2) o superior. Recomendado: procesador de 4 núcleos a 2,5 GHz, 32 GB de RAM, gráfica DirectX 12 con 8 GB de memoria
Lenguaje C# C++ y Blueprints (programación visual)
Precio Gratis hasta 200.000 $ de ingresos o financiación; después, suscripción por puesto (Pro, Enterprise) Gratis; un 5 % de regalías a partir del primer millón de $ que ingrese cada juego
Juegos típicos Móvil, indie, 2D y realidad virtual: Hollow Knight: Silksong, Cuphead, Genshin Impact, Among Us, Beat Saber Grandes producciones 3D realistas: Fortnite, Clair Obscur: Expedition 33, Black Myth: Wukong, Senua's Saga: Hellblade II

Unreal podría haber sido una opción válida, pero nuestros equipos no son muy potentes, C# tiene una curva de aprendizaje más sencilla y la mayoría de los estudios pequeños (los más abundantes en España) usan Unity. Además, Unity nos viene genial para el módulo de Realidad virtual y aumentada (RVRA).


Modelo de negocio de Unity

Unity se ofrece en varios planes. El que corresponde a cada usuario depende, sobre todo, de sus ingresos o de su financiación:

Plan Para quién Precio Qué incluye
Student Estudiantes de centros acreditados (desde 16 años en la UE) Gratis Licencia educativa
Personal Particulares y empresas con menos de 200.000 $ de ingresos o financiación en los últimos 12 meses. Solo juegos y entretenimiento Gratis Publicar en web, escritorio, móvil y AR/VR
Pro Obligatorio a partir de 200.000 $ 210 $/mes o 2.310 $/año por puesto Consolas y Apple Vision Pro, pantalla de inicio personalizable, soporte prioritario
Enterprise Obligatorio a partir de 25 millones de $ A medida Código fuente (solo lectura), un año más de soporte LTS, soporte dedicado
Industry Aplicaciones que no son juegos, en empresas de más de 1 millón de $ A medida Herramientas para industria (formación, HMI, configuradores…)

Fuente: unity.com/pricing (septiembre de 2026)


Modelo conceptual de Unity

  • Escena: un nivel, menú o pantalla del juego. Es un fichero .unity del proyecto
  • GameObject: cualquier objeto de la escena (personaje, cámara, luz, suelo…). Por sí solo no hace nada
  • Componente: cada pieza que da a un GameObject un comportamiento o aspecto:
    • Transform: posición, rotación y escala (lo tienen todos)
    • Sprite Renderer: dibuja una imagen 2D
    • Rigidbody 2D, Box Collider 2D: física y colisiones
    • Nuestros scripts de C# también son componentes
  • Un juego es un conjunto de escenas con GameObjects formados por componentes

Para trabajar con Unity hay que conocer tres conceptos, que encajan unos dentro de otros.

Una escena es un nivel, un menú o una pantalla del juego. Cada escena es un fichero .unity del proyecto.

Un GameObject es cualquier objeto de la escena: un personaje, una cámara, una luz, el suelo… Por sí solo no hace nada.

Lo que da a un GameObject su comportamiento o su aspecto son sus componentes. Todos tienen un Transform, con su posición, rotación y escala. Otros ejemplos son Sprite Renderer, que dibuja una imagen 2D, o Rigidbody 2D y Box Collider 2D, que se ocupan de la física y las colisiones. Los scripts de C# que escribamos también son componentes.

En resumen, un juego es un conjunto de escenas con GameObjects formados por componentes.


Instalación

  • Unity permite gestionar cada proyecto con una versión distinta del editor
  • Utiliza Unity Hub como metagestor
  • Unity Hub instala:
    • Editor
    • Documentación
    • Editor de código (si lo necesitas, en Windows)
    • Builders (depende de tu plataforma objetivo)
  • Unity Hub se instala para todos los usuarios del sistema; el editor, la documentación y los builders, por usuario (cada uno puede tener una versión distinta del editor)
  • Versión del editor que utilizaremos: última LTS (Unity 6.3)

Unity permite gestionar cada proyecto con una versión distinta del editor. Para ello utiliza Unity Hub, que hace de metagestor: es el programa desde el que se instala todo lo demás. En concreto, Unity Hub instala el editor, la documentación, un editor de código (si lo necesitas, en Windows) y los builders, que dependen de tu plataforma objetivo.

Unity Hub se instala para todos los usuarios del sistema. En cambio, el editor, la documentación y los builders se instalan por usuario, de modo que cada uno puede tener una versión distinta del editor.

La versión del editor que utilizaremos es la última LTS: Unity 6.3.


El editor de Unity

Este es el aspecto del editor de Unity:

El editor de Unity


Las ventanas del editor

  • Se compone de ventanas que se pueden mover, acoplar y agrupar en pestañas
  • Las principales:
    • Jerarquía (Hierarchy): los objetos de la escena
    • Escena (Scene): el mundo del juego, para editarlo
    • Juego (Game): lo que ve la cámara del jugador
    • Inspector: las propiedades del objeto seleccionado
    • Proyecto (Project): los ficheros del proyecto
    • Consola (Console): mensajes y errores
  • Todas están en el menú Window; si cerramos una, se vuelve a abrir desde ahí
  • Window › Layouts (o el desplegable de la esquina superior derecha) guarda y recupera disposiciones. Default devuelve la original

El editor se compone de ventanas que se pueden mover, acoplar y agrupar en pestañas. Las principales son:

  • Jerarquía (Hierarchy): los objetos de la escena.
  • Escena (Scene): el mundo del juego, para editarlo.
  • Juego (Game): lo que ve la cámara del jugador.
  • Inspector: las propiedades del objeto seleccionado.
  • Proyecto (Project): los ficheros del proyecto.
  • Consola (Console): mensajes y errores.

Todas están en el menú Window, así que, si cerramos una, se vuelve a abrir desde ahí. Además, Window › Layouts (o el desplegable de la esquina superior derecha) guarda y recupera disposiciones de ventanas; la llamada Default devuelve la original.


Barra de herramientas

En el centro de la barra superior, los controles de ejecución:

Botón Uso
Play Play Ejecuta el juego dentro del editor
Pausa Pausa Lo detiene sin salir
Avanzar Avanzar Ejecuta un único fotograma

Herramientas de transformación

En la vista Escena, para manipular los objetos:

Tecla Herramienta Uso
Mano Q Mano Desplazar la vista
Mover W Mover Cambiar la posición
Rotar E Rotar Cambiar la orientación
Escalar R Escalar Cambiar el tamaño
Rect T Rect Mover y redimensionar objetos 2D y de interfaz
Transformar Y Transformar Mover, rotar y escalar a la vez

Jerarquía

La ventana Jerarquía

  • Lista todos los GameObjects de la escena abierta
  • Los objetos se organizan en árbol: arrastrando uno sobre otro, pasa a ser su hijo
  • Un hijo se mueve, gira y escala junto a su padre; su posición es relativa a él
  • Con el botón derecho (o +) se crean objetos nuevos: vacíos, sprites, cámaras, luces, interfaz…
  • Al seleccionar un objeto aquí, se selecciona también en la Escena y el Inspector muestra sus propiedades
  • Doble clic sobre un objeto: la vista Escena lo centra

La Jerarquía lista todos los GameObjects de la escena abierta. Los objetos se organizan en árbol: al arrastrar uno sobre otro, pasa a ser su hijo. Un hijo se mueve, gira y escala junto a su padre, y su posición es relativa a él.

Con el botón derecho (o con +) se crean objetos nuevos: vacíos, sprites, cámaras, luces, interfaz…

La Jerarquía está conectada con las demás ventanas: al seleccionar un objeto aquí, se selecciona también en la Escena, y el Inspector muestra sus propiedades. Con un doble clic sobre un objeto, la vista Escena lo centra.


La vista Escena

La vista Escena

  • Escena: la vista de trabajo, para colocar y editar objetos
    • Rueda: acercar y alejar
    • Botón central (o Q y arrastrar): desplazar
    • Botón derecho + WASD: moverse en 3D
    • F: centrar el objeto seleccionado
    • Botón 2D: alterna entre vista plana y 3D

La Escena es la vista de trabajo, en la que colocamos y editamos los objetos. Para movernos por ella:

  • La rueda del ratón acerca y aleja.
  • El botón central (o la tecla Q y arrastrar) desplaza la vista.
  • El botón derecho, junto con las teclas WASD, permite moverse en 3D.
  • La tecla F centra el objeto seleccionado.
  • El botón 2D alterna entre la vista plana y la 3D.

La vista Juego

La vista Juego

  • Juego: lo que verá el jugador a través de la cámara
    • Es la vista que se activa al pulsar Play
    • Permite elegir la resolución o la proporción de pantalla
    • Stats muestra fotogramas por segundo y otros datos de rendimiento

La vista Juego muestra lo que verá el jugador a través de la cámara, y es la que se activa al pulsar Play. Permite elegir la resolución o la proporción de pantalla, y su opción Stats muestra los fotogramas por segundo y otros datos de rendimiento.


Inspector

El Inspector

  • Muestra y permite editar lo seleccionado
  • Para un GameObject:
    • Nombre, casilla de activo, etiqueta (Tag) y capa (Layer)
    • Su lista de componentes, empezando siempre por Transform
    • Add Component para añadir nuevos (física, sonido, scripts…)
  • Para un fichero: sus opciones de importación (p. ej., de una imagen)
  • Los valores públicos de nuestros scripts aparecen aquí y se pueden ajustar sin tocar el código
  • ⚠️ Lo cambiado durante Play se pierde al salir

El Inspector muestra, y permite editar, lo que esté seleccionado.

Si es un GameObject, vemos su nombre, la casilla de activo, su etiqueta (Tag) y su capa (Layer), seguidos de la lista de sus componentes, que empieza siempre por Transform. Con Add Component se añaden componentes nuevos (física, sonido, scripts…).

Si es un fichero, vemos sus opciones de importación (por ejemplo, las de una imagen).

Los valores públicos de nuestros scripts también aparecen aquí, y se pueden ajustar sin tocar el código. Pero atención: lo que se cambia durante Play se pierde al salir.


La ventana Proyecto

  • Proyecto: los recursos (assets) del juego
    • Muestra la carpeta Assets y los paquetes instalados (Packages)
    • Botón derecho (o +) para crear carpetas, scripts, materiales, escenas…
    • Se pueden arrastrar ficheros desde el sistema para importarlos
    • Arrastrando un recurso a la Escena o a la Jerarquía se añade al juego

La ventana Proyecto contiene los recursos (assets) del juego: muestra la carpeta Assets y los paquetes instalados (Packages).

Con el botón derecho (o con +) se crean carpetas, scripts, materiales, escenas… También se pueden importar ficheros arrastrándolos desde el sistema. Y arrastrando un recurso a la Escena o a la Jerarquía, se añade al juego.

La ventana Proyecto


La ventana Consola

La ventana Consola

  • Consola: mensajes del editor y de nuestros scripts
    • Mensajes de Debug.Log(), avisos y errores de compilación
    • Doble clic en un error: abre el script en la línea correspondiente
    • Clear, Collapse y Error Pause para gestionar los mensajes

La Consola muestra los mensajes del editor y de nuestros scripts: los de Debug.Log(), los avisos y los errores de compilación. Con un doble clic en un error se abre el script en la línea correspondiente.

Los botones Clear, Collapse y Error Pause sirven para gestionar los mensajes.


Estructura del proyecto

Un proyecto de Unity es una carpeta con esta estructura:

La carpeta de un proyecto de Unity


Carpetas del proyecto

No todas esas carpetas son igual de importantes. Unas contienen nuestro trabajo y deben guardarse en Git; otras las regenera Unity y no hace falta guardarlas:

Carpeta Contenido ¿En Git?
Assets Nuestros recursos: escenas, scripts, imágenes, sonidos… Sí
Packages La lista de paquetes que usa el proyecto Sí
ProjectSettings La configuración del proyecto Sí
Library Caché que Unity regenera al abrir el proyecto No
Logs, Temp, UserSettings Registros, temporales y ajustes personales No
obj, .vscode, *.csproj, *.sln… Ficheros para el editor de código, que Unity regenera No
  • Cada fichero de Assets tiene al lado un .meta con su identificador: las referencias entre recursos dependen de él

Además, cada fichero de Assets tiene al lado otro con extensión .meta, que guarda su identificador. Las referencias entre recursos dependen de él.


Cambios dentro y fuera de Unity

  • Dentro de Unity (ventana Proyecto): mover, renombrar y borrar recursos
    • Unity mueve el .meta con ellos y mantiene las referencias
  • Fuera de Unity (explorador, VS Code…): editar el contenido de los ficheros
    • Al volver al editor, Unity detecta los cambios, reimporta y recompila los scripts
    • Si un fichero se mueve fuera, hay que mover también su .meta; si no, se pierden las referencias
  • Los cambios en escenas y objetos no se guardan solos: Ctrl + S
  • Lo que se cambia durante Play se descarta al salir

Por esa dependencia de los .meta, conviene distinguir qué operaciones se hacen dentro de Unity y cuáles fuera.

Dentro de Unity, en la ventana Proyecto, se mueven, renombran y borran los recursos: así Unity mueve el .meta con ellos y mantiene las referencias.

Fuera de Unity, con el explorador de archivos, VS Code u otro programa, se edita el contenido de los ficheros. Al volver al editor, Unity detecta los cambios, reimporta y recompila los scripts. Si un fichero se mueve desde fuera, hay que mover también su .meta; si no, se pierden las referencias.

Dos avisos más: los cambios en escenas y objetos no se guardan solos, hay que pulsar Ctrl + S; y lo que se cambia durante Play se descarta al salir.


Configuración básica del editor

  • Edit › Preferences (en macOS, Unity › Settings): ajustes del editor, comunes a todos nuestros proyectos
  • No confundir con Edit › Project Settings: ajustes de cada proyecto (física, entrada, calidad…)
  • Dos ajustes que haremos nada más instalar:
    • El editor de código
    • El color en modo Play

Los ajustes del editor están en Edit › Preferences (en macOS, Unity › Settings) y son comunes a todos nuestros proyectos. No hay que confundirlos con Edit › Project Settings, donde están los ajustes de cada proyecto (física, entrada, calidad…).

Hay dos ajustes que haremos nada más instalar: el editor de código y el color en modo Play.


Editor de código

  • External Tools › External Script Editor
  • Elegimos Visual Studio Code: los scripts se abren con él y Unity genera los ficheros que necesita

En External Tools › External Script Editor se elige el editor de código. Elegimos Visual Studio Code: así los scripts se abren con él y Unity genera los ficheros que necesita.

Preferences › External Tools


Color en modo Play

  • Colors › General › Playmode tint
  • Tiñe el editor mientras el juego se ejecuta
  • Un color llamativo recuerda que los cambios hechos en ese momento se perderán

En Colors › General › Playmode tint se elige el color con el que se tiñe el editor mientras el juego se ejecuta. Conviene que sea llamativo: así recordaremos que los cambios hechos en ese momento se perderán.

Preferences › Colors


Si las preferencias no se guardan (Linux)

  • En Linux, a veces el editor no guarda las preferencias: al volver a abrirlo, el color en modo Play o cualquier otro ajuste se ha perdido
  • Unity las almacena en la carpeta ~/.local/share/unity3d, que a veces no se crea automáticamente
  • Solución:
    1. Cierra el editor de Unity
    2. Crea la carpeta; en una terminal: mkdir -p ~/.local/share/unity3d
    3. Arranca el editor
    4. Configura las preferencias a tu gusto: esta vez deberían guardarse

En Linux, a veces el editor no guarda las preferencias: al volver a abrirlo, el color en modo Play o cualquier otro ajuste se ha perdido. Ocurre porque Unity las almacena en la carpeta ~/.local/share/unity3d, que a veces no se crea automáticamente. Si te pasa, sigue estos pasos:

  1. Cierra el editor de Unity.
  2. Crea la carpeta. En una terminal: mkdir -p ~/.local/share/unity3d
  3. Arranca el editor.
  4. Configura las preferencias a tu gusto: esta vez deberían guardarse.

Live demo!