
Comenzamos realizando la instalación del motor Unity 6 (mediante el Unity Hub), y el entorno de desarrollo en el que escribiremos nuestro código, Microsoft Visual Studio Community.
Nota: Aunque el vídeo menciona la versión 2022 del Visual Studio Community, actualmente está disponible la versión 2026, que es perfectamente compatible y se utiliza exactamente igual que como se muestra durante el curso.
¡Ya tenemos todo lo necesario instalado! Vamos ahora a crear nuestro primer proyecto, aprender cómo está estructurado, y cómo abrirlo en nuestras siguientes sesiones.
Vamos a echar un primer vistazo a la interfaz de Unity 6, aprender para qué sirve cada panel, y los menús rápidos que estaremos utilizando durante todo el curso.
Nos centraremos ahora en la ventana de escena de juego. Empezaremos a crear objetos que serán visibles aquí, y ejecutaremos por primera vez.
Explicaremos la arquitectura basada en componentes, uno de los pilares fundamentales de Unity. Veremos cómo activar y desactivar objetos, así como asignarles tags y layers. También aprenderemos a añadir, eliminar, activar y desactivar los componentes de los objetos.
Vamos a ver los componentes Transform, MeshFilter, MeshRenderer, y SpriteRenderer, fundamentales para colocar un objeto en la escena y para que los objetos 3D y 2D sean visibles en pantalla.
Echaremos ahora un vistazo a los componentes relacionados con el motor de físicas. Veremos los colliders con todas las variantes que nos ofrece el motor, y luego el Rigidbody para las simulaciones físicas.
Entendamos cómo funciona la cámara, y cómo podemos configurar el dibujado sobre el viewport y cambiar la perspectiva.
Los objetos de la escena pueden seguir una jerarquía, de forma que unos objetos se "anclen" a otros, y las propiedades de sus transform pasen a ser relativas a las del objeto padre.
Vamos a explicar los prefabs, uno de los conceptos más importantes en Unity. Aprenderemos a crearlos para tener plantillas de objetos para nuestro juego, y veremos cómo modificarlos, y sobreescribir sus características cuando sea necesario.
Explicaremos el ciclo de vida de cualquier juego. Independientemente del motor utilizado, todo videojuego se sustenta sobre un proceso claro de inicialización, el bucle de juego, y la finalización.
Nos aseguraremos de integrar Microsoft Visual Studio Community para funcionar con nuestro proyecto de Unity 6. Crearemos nuestro primer script para entender las llamadas principales de Unity, y moveremos un objeto.
Explicaremos las variables disponibles en cualquier script que creemos. Aprenderemos a buscar otros objetos de la escena, y a interactuar y comunicarnos con otros componentes.
En este tema abordaremos la serialización, un mecanismo clave en Unity para configurar parámetros de nuestros scripts sin tener que modificar su código, además de otorgar un medio eficiente de comunicar objetos entre sí.
Finalizaremos el bloque con unas consideraciones importantes para gestionar el proyecto y sus archivos, incluyendo una explicación sobre los ficheros Meta.
Comenzaremos este nuevo bloque mostrando la Assets Store de Unity, y explicando cómo importar el paquete de Sandard Assets en primera persona. Probaremos el controlador en primera persona incluido en este paquete, y veremos cómo funciona.
Crearemos un mecanismo de respawn para cuando el jugador caiga al vacío. Implementaremos nuestro primer obstáculo, un muro vertical móvil.
¡Vamos a por nuestro segundo obstáculo! Crearemos una plataforma que aparece y desaparece a intervalos regulares, y formaremos un pasillo compuesto por muchas de estas plataformas.
Implementaremos un botón que abrirá una puerta. Seguiremos practicando detecciones físicas, y hablaremos de los Unity Events, una herramienta muy versátil.
Vamos a añadir a nuestro juego unas monedas que el jugador puede recoger. Crearemos varios tipos de monedas gracias a la introducción del concepto de prefab variants.
¡Vamos a hacer que algunas de nuestras monedas se generan aleatoriamente en zonas de nuestro escenario! Para ello necesitaremos algo con lo que no hemos experimentado aún, crear objetos en la escena durante la ejecución del juego.
Ya tenemos listo al jugador, el respawn, los obstáculos, y las monedas que hay que recoger. Nos falta que el juego finalice cuando el jugador alcance su objetivo, que es haber recogido todas las monedas del nivel.
Por último, haremos que el juego cuente el tiempo que tardamos en completar el objetivo de recoger todas las monedas.
Una de las diferencias fundamentales al realizar un prototipo de juego en 2D es la configuración de la cámara, que usará un tipo diferente de perspectiva.
Hay componentes incluidos en el motor que tienen una versión propia y específica pensada para juegos con perspectiva 2D. Veremos cuáles, y qué diferencias tienen con sus versiones 3D.
Comenzaremos descargando unos assets que incluyen sprites y partículas que utilizaremos para elaborar el prototipo. Sin embargo, en esta ocasión no utilizaremos scripts ya implementados, por lo que realizaremos nuestro propio script de movimiento 2D para el jugador.
Vamos a añadir al jugador la capacidad de disparar, mediante la instanciación de un proyectil y la gestión de un tiempo entre disparos.
En este tema crearemos un enemigo y su bala, de forma que el jugador tenga algo contra lo que combatir. ¡También empezaremos a reutilizar componentes!
Tenemos al jugador, al enemigo, y sus disparos implementados, pero ahora mismo no ocurre nada cuando uno es alcanzado por la bala del otro. Implementaremos la detección del impacto con balas del bando contrario mientras ignoraremos las del bando propio, y destruiremos la nave impactada.
Hacemos una pequeña pausa para introducir un patrón de programación muy útil y extendido en el desarrollo de videojuegos, y no exclusivo al motor Unity: El patrón Singleton. Lo pondremos en práctica realizando un Manager muy sencillo que controlará algunos aspectos importantes del juego.
Utilizaremos de nuevo los prefab variants para crear algunos enemigos nuevos, que utilicen otros sprites y colisiones. Crearemos un script que gestione la vida del jugador y los enemigos, de forma que no mueran automáticamente con el primer impacto. Haremos que los enemigos destruidos den puntuación al jugador.
Hemos estado probando a nuestros enemigos colocándolos manualmente en la escena. Es la hora de añadir un pequeño sistema de creación de enemigos, para que éstos se vayan generando dinámicamente, y podamos tener algo más parecido a un flujo de juego.
Ahora mismo el juego tiene una duración infinita, ya que los enemigos no dejan de aparecer, y además, cuando la nave del jugador es destruida, no ocurre absolutamente nada. Vamos a crear una nueva escena, que será una pantalla de Game Over, y la cargaremos cuando el jugador sea eliminado, o cuando pase un tiempo fijo de duración del juego.
Este tema tratará de explicar los fundamentos para crear interfaces gráficas utilizando Unity 6. Introduciremos el concepto de Canvas, y veremos cómo se colocan correctamente los diferentes elementos en pantalla. Entenderemos el uso de las "anclas", y el funcionamiento de los layouts.
Ahora que sabemos cómo componer una UI utilizando el Canvas, vamos a diseñar la UI de nuestro juego. Haremos un HUD básico para la pantalla de juego, que incluirá la vida y la puntuación del jugador, así como el tiempo restante de la partida. Prepararemos también la pantalla de GameOver.
En el tema anterior dejamos lista la UI de la pantalla de Game Over, pero no teníamos los conocimientos para mostrar la puntuación obtenida en la partida, así como la puntuación más alta lograda. Explicaremos en este tema cómo realizar estas dos tareas, incluyendo la explicación del sistema de Player Prefs.
¡Hemos terminado la funcionalidad del juego! Sin embargo, nuestro prototipo aún tiene algunas carencias. En primer lugar, los parámetros de juego seguramente estén mal configurados, con naves lentas y un gameplay tosco. Por otro lado, no tiene ningún atractivo visual, y carece de "feedback" al jugador cuando las naves son dañadas o destruidas.
En este tema modificaremos los parámetros serializados que hemos estado añadiendo durante la implementación, para conseguir un gameplay más dinámico y atractivo. También añadiremos cambios de color para reflejar el daño de las naves, y una partícula de explosión para las naves destruidas. Finalmente, añadiremos elementos decorativos, y un fondo a nuestra escena de juego.
¡Ya casi estamos listos!
Sin embargo, nuestro juego carece de sonido. En este tema daremos un primer vistazo a cómo se reproduce sonido en Unity 6, y lo utilizaremos para los disparos, impactos y explosiones.
Para ello, haremos uso del material descargable provisto en este tema. Los archivos de sonido incluidos tienen la licencia Creative Commons 0, por lo que pueden ser utilizados sin restricción. El crédito de estos sonidos es atribuido a los artistas LilMati (sonidos "PlayerShot", "EnemyShot", y "Damage") y cabled_mess (sonido "Explosion"), de la comunidad Freesound.org.
¡Hemos acabado!
Finalizaremos explicando cómo se hace una build de PC de nuestro juego, y lo veremos por fin ejecutando como un juego independiente fuera del motor. Explicaremos por encima las opciones disponibles a la hora de hacer una build.
Iníciate desde cero en el mundo del desarrollo de videojuegos utilizando el motor Unity 3D, en su versión 6, así como su scripting en C#. Aprende paso a paso a crear tus propios videojuegos, mientras adquieres las habilidades clave para iniciarte profesionalmente en este apasionante sector.
Domina los fundamentos del desarrollo con Unity 3D desde cero. Este curso completamente actualizado te brinda todo lo necesario para alcanzar un nivel básico, principiante o iniciación, y comenzar tu camino en el mundo de los videojuegos.
Desarrolla utilizando Unity3D junto a Visual Studio Community 2022
Sumérgete en el scripting en el lenguaje C#
Conoce todo lo necesario para manejar con soltura el motor
¡Crea 2 videojuegos en el proceso!
¡Domina uno de los motores de videojuegos más utilizados!
Unity es un motor muy versátil que permite desarrollar cualquier tipo de videojuego, desde pequeños prototipos a proyectos de gran tamaño y alta calidad desarrollados por equipos de cientos de personas. Conocer este motor te otorgará una base muy sólida, y pondrá a tu alcance muchas oportunidades. Unity cuenta con una gran comunidad, y permite una buena curva de aprendizaje, así que es una opción óptima para principiantes. Además, muchos de los conocimientos adquiridos son muy fácilmente trasladables a otros motores, lo que te facilita abrirte a otras opciones posteriormente. Como profesional del sector, puedo guiarte y ayudarte para que el proceso sea lo más natural posible.
Si quieres iniciarte en el desarrollo de videojuegos, o bien trabajas con otros motores y quieres aprender a usar Unity, o incluso si has trabajado con versiones antiguas de este motor y quieres ponerte al día, es muy probable que éste sea tu curso, por lo que te invito a seguir leyendo, y a conocer más sobre la estructura del curso y mi método.
Durante las lecciones verás que no me limito a explicar los pasos para lograr hacer las tareas propuestas, sino que tengo el objetivo de asentar unas bases de conocimientos para que de verdad entiendas lo que estás haciendo, y que seas capaz de crear otros juegos diferentes sin problemas. Además, habrás dominado conceptos que son totalmente independientes del motor utilizado, por lo que muchos de los conocimientos adquiridos te serán útiles sin importar en qué motor los apliques. Cuando finalices el curso, serás capaz de construir con facilidad tus propios pequeños juegos por tu cuenta, y de diferentes géneros. Además, sabrás empaquetar una build de tu juego para ordenador, y tendrás nociones sobre cómo gestionar a nivel de archivos los proyectos de Unity.
Como profesional con experiencia tanto en empresas líderes del sector como en docencia, he podido ver cuáles son las cuestiones que suelen suponer un mayor obstáculo a la hora de iniciarse en el desarrollo de videojuegos en general, y a Unity en particular, así como las debilidades comunes en los cursos formativos. Todo esto me ha permitido perfeccionar mi método.
El curso comenzará con un primer bloque de introducción al motor, para familiarizarte con la interfaz del programa y cada una de sus ventanas. Sabrás crear objetos, utilizar la jerarquía, y entenderás cómo funciona la arquitectura basada en componentes, así como los componentes más básicos del motor. También dominarás los fundamentos del scripting utilizando el lenguaje de programación C#.
Los otros 2 bloques del curso consistirán en la realización de 2 juegos sencillos, pero completamente diferentes entre sí, no sólo para poner en práctica lo estudiado, sino para seguir expandiendo tus conocimientos en muchas áreas diferentes, siempre desde un enfoque totalmente práctico. ¡Seguirás formándote a la vez que lo pones inmediatamente en uso en tu juego!
Cada bloque de prototipado va añadiendo progresivamente conceptos generales nuevos, e incluso patrones de programación, que serás capaz de utilizar por tu cuenta en el futuro. Esto permite que el contenido se sume a un ritmo que permita un buen avance, sin sobrecargarte. Verás por tu cuenta dónde podría haberse utilizado cada concepto en temas anteriores, lo que hará que todo el progreso se sienta más automático.
Además de las lecciones, el curso cuenta con una tarea en cada uno de los bloques, para que puedas poner a prueba lo visto en cada lección, y el estudio sea más interactivo. Estas tareas están diseñadas teniendo en cuenta que puedan ser realizadas perfectamente con los conocimientos adquiridos durante cada uno de los bloques sin dificultad. Además, dispondrás de un cuestionario final que te permitirá agrupar y reforzar todos los conocimientos.
A continuación, se muestra una lista completa de los conceptos que estudiarás durante este curso a la vez que desarrollas tus juegos:
Instalar y configurar correctamente el Unity Hub, el editor de Unity 6, y el Visual Studio Community 2022.
Crear, abrir y gestionar un proyecto de Unity y su estructura.
Utilizar cada ventana y panel principal de la UI del editor.
Control de la escena y la jerarquía de objetos.
Arquitectura basada en componentes.
Creación y gestión de objetos y cada uno de sus componentes.
Uso de tags y layers para múltiples propósitos.
Funcionamiento y manejo del componente Transform.
Funcionamiento de los componentes de visualización (Sprite Renderer, Mesh Renderer y Mesh Filter).
Funcionamiento de los componentes físicos (todos los Colliders y el Rigidbody).
Funcionamiento del componente Camera.
Manejo y gestión en profundidad de prefabs y prefab variants.
Ciclo de vida general de un juego.
Funciones de llamada principales de los MonoBehaviours.
Explicación del orden de ejecución de scripts y sus funciones en Unity 6.
Búsqueda de objetos en escena y jerarquía. Búsqueda de componentes de un objeto.
Serialización de MonoBehaviours y clases y structs propios.
Archivos .meta y consideraciones al gestionar archivos del proyecto.
Uso de la Assets Store de Unity y uso del Package Manager.
Introducción al CharacterController y cómo funciona un control en primera persona.
Uso y detección de triggers.
Implementación de mecánicas de juego (movimientos, temporizadores y cronómetros, disparos, daño y muerte de enemigos y jugador).
Implementación y uso de Unity Events.
Instanciación dinámica de objetos en la escena. Creación de objetos en puntos aleatorios de un área.
Componentes específicos para juegos 2D.
Implementación de un movimiento de jugador 2D simple.
Reutilización de nuestros propios componentes.
Introducción al concepto de Manager y al patrón Singleton.
Cambios de escena en Unity 6.
Explicación exhaustiva de cómo funciona la UI y la colocación de objetos y su jerarquía. Uso de imágenes, botones y layouts en la UI.
Uso del paquete TextMeshPro para la UI.
Vinculación de variables de tus scripts a los campos de la UI.
Pulido de un juego.
Introducción a la reproducción de sonidos utilizando el sistema de audio de Unity.
Empaquetado de una build de tu juego para ordenador, para jugarlo y compartirlo.
Todos estos conceptos se explicarán a lo largo de las lecciones y se aplicarán directamente en el desarrollo de los videojuegos, para hacer que el aprendizaje sea más interactivo, dinámico y entretenido. El curso ha sido diseñado para que incluso quienes se inician desde cero puedan comprenderlo con facilidad.
Aunque el curso puede ser realizado y completado sin conocimientos de programación, es recomendable tener unas bases mínimas. De esta forma, tendrás la garantía de que serás capaz de elaborar posteriormente por tu cuenta algo totalmente diferente a lo elaborado durante el curso. No es necesario en absoluto que hayas utilizado C#, pero sí es aconsejable comprender los flujos y estructuras principales de programación, para poder crear en el futuro tus propios scripts de forma autónoma.
¿Listo para dar el primer paso? Mira el vídeo promocional, prueba las vistas previas gratuitas, y échale un ojo a mi perfil. ¡Nos vemos durante tu aventura!
Estos materiales no están patrocinados ni afiliados a Unity Technologies o sus afiliados. Unity ® y el logo de Unity son marcas comerciales registradas de Unity Technologies o sus afiliados en los EE. UU. y otros lugares.