Introducción a desarrollo en Unity 2D
Iñaki Agustin Lapeyre

El objetivo de este curso es capacitar al alumno para crear un videojuego completo (Game Loop cerrado) ejecutable en Windows y/o Web, priorizando las buenas prácticas de ingeniería de software, la escritura de código limpio y una comprensión profunda del motor Unity 6 y C#.
Modalidad
Virtual
Desde Buenos Aires, Argentina
Horarios y días
Viernes 18:00 hs
Duración
8 clases - 2 meses


Software
Unity 6
Comienza el 17 de Abril
Requisitos de hardware
Componente
Requisito mínimo
Recomendado
SO (Windows)
Windows 10 (21H1, build 19043+) o Windows 11 (21H2+) (64-bit).
Windows 10/11 actualizado.
CPU
Arquitectura X64 con soporte para instrucciones SSE2.
Intel Core i5 / AMD Ryzen 5 o superior.
GPU
Compatible con DX10, DX11, DX12 o Vulkan.
GPU Dedicada (NVIDIA GTX 10-Series / RTX o AMD RX Series).
RAM
8 GB (Mínimo operativo realista).
16 GB o más (Estándar para evitar swapping).
Almacenamiento
HDD estándar.
SSD (Crucial para tiempos de compilación y carga de assets).
Programa
Fundamentos de Ingeniería y Entorno de Unity
El Core Loop - Física y Input System
Interacción, Diseño de Niveles y Optimización
Automatización y Escalabilidad
Arquitectura de Datos y Máquinas de Estados
Game Loop, Singleton y UI
Game Feel y Feedback Sensorial
Empaquetado, Persistencia y Distribución
Módulo 1
Configuración de Unity Hub y Unity 6.
Control de Versiones (Git): Implementación de repositorios, concepto de atomicidad en "Commits" y "Push" a GitHub.
Se establece el VCS (versión control system) como una red de seguridad indispensable ("Deshacer") antes de escribir lógica.


Fundamentos de Ingeniería y Entorno de Unity
Establecer un flujo de trabajo profesional desde el inicio, priorizando el control de versiones y la comprensión de la memoria.
Entorno de Desarrollo
Diferenciación entre tipos de valor y referencia en memoria.
Estructura de métodos (acciones vs. retorno de datos) y control de flujo.
Lógica C# y Gestión de Memoria
Ciclo de vida de MonoBehaviour: Diferencias críticas entre inicialización y bucles de actualización (Start vs Update).
API de Unity
Módulo 2
Rigidbody2D: Manipulación de física y la importancia del FixedUpdate para la estabilidad de la simulación.
Colisionadores: Configuración de BoxCollider2D y detección de suelo mediante Raycast u OverlapCircle para evitar estados booleanos inconsistentes.


El Core Loop - Física y Input System
Implementación de un controlador de personaje físico utilizando el Input System moderno y cámaras dinámicas.
Física 2D Determinista
Creación de Input Action Assets y configuración de Action Maps.
Desacoplamiento de la entrada lógica (Actions) del hardware físico (Binding).
Input System (Unity 6)
Implementación de CinemachineCamera (Unity 6) con configuración de zonas muertas para filtrar ruido de entrada y evitar mareo por movimiento.
Cámara
Módulo 3
Uso de Tilemaps (Grid, Palette, Layers) para el pintado de escenarios.
Optimización de Física: Implementación de CompositeCollider2D para fusionar geometría de colisión y reducir la carga de cálculo físico.


Interacción, Diseño de Niveles y Optimización
Construcción de entornos y gestión eficiente de colisiones.
Arquitectura de Niveles
Diferenciación técnica entre colisión física (OnCollisionEnter) y disparadores lógicos o sensores (OnTriggerEnter).
Lógica de Interacción
Uso estricto de CompareTag para evitar la asignación de memoria (string allocation) en el Heap durante las comparaciones.
Gestión de Memoria
Módulo 4
Uso de Listas dinámicas vs Arrays estáticos para la gestión de entidades.
Iteración de colecciones mediante bucles foreach.


Automatización y Escalabilidad
Transición de la edición manual a la generación procedural y gestión de colecciones dinámicas.
Estructuras de Datos
Concepto de "Molde" vs "Instancia" y uso de Overrides.
Sistema de Prefabs
Generación en tiempo de ejecución (Instantiate) y gestión de destrucción (Destroy).
Ciclo de Vida de Entidades
Trade-off: Introducción teórica al Object Pooling como la solución escalable para evitar picos de Garbage Collection en proyectos avanzados.
Módulo 5
Creación de contenedores de datos para estadísticas (Velocidad, Vida) que permiten balanceo en tiempo real sin recopilación.


Arquitectura de Datos y Máquinas de Estados
Desacoplar los datos de configuración de la lógica de comportamiento (Data-Driven Design).
ScriptableObjects
Implementación de estados lógicos (Idle, Run, Jump) mediante enum y control de flujo switch.
Máquina de Estados Finita (FSM)
Vinculación de la FSM lógica con el Animator Controller mediante parámetros y transiciones, o control explícito por código.
Sistema de Animación
Módulo 6
Implementación de una clase estática global (GameManager) para gestión de estado.
Limitación de su uso para evitar acoplamiento excesivo y deuda técnica.


Game Loop, Singleton y UI
Centralización del flujo de juego y arquitectura de interfaz de usuario.
Patrón Singleton
Interfaz de Usuario (UI)
Control de flujo de aplicación (Menú, Gameplay, Game Over, Reinicio) mediante SceneManager.
Gestión de Escenas
Teoría de Canvas y Anchors para independencia de resolución de pantalla.
Manipulación de TextMeshPro referenciado desde el Singleton.
Módulo 7
Coyote Time: Implementación de temporizadores para permitir saltos post-contacto, priorizando la sensación de control sobre la física realista.


Game Feel y Feedback Sensorial
Mejora de la experiencia de usuario (UX) mediante diseño invisible y respuesta del sistema.
Diseño Invisible
Instanciación de sistemas de partículas y gestión de efectos de sonido (AudioSource) para feedback inmediato.
Screen Shake: Uso de Impulse Sources (Unity 6) para impacto visual en eventos críticos.
Feedback Audiovisual
Uso de Corrutinas (IEnumerator) para manipular el flujo temporal (pausas dramáticas, delays) antes de reinicios.
Control de Tiempo
Módulo 8
Uso de PlayerPrefs para almacenamiento local de datos simples (HighScore) entre sesiones.


Empaquetado, Persistencia y Distribución
Finalización del ciclo de desarrollo, persistencia de datos y publicación del producto.
Persistencia de Datos
Build Pipeline
Compilación para WebGL y configuración de hosting en plataformas como Itch.io para generar un entregable de portafolio.
Despliegue
Configuración de Build Settings (iconos, resolución).
Conceptos de optimización: Compresión de texturas y Code Stripping.
Arancel
Si sos miembro de Buenos Aires Game Devs, BTVA, o tenés cupón, abonás solo el 50%!
por mes
80000 ARS
60.000 ARS
30.000 ARS
por mes
Valor de Inscripción (única vez): 20.000 ARS
UNITE A LA FAMILIA
ENCENDÉ TU POTENCIAL CREATIVO.
REUNITE EN PIRA
Contactanos
© 2026. All rights reserved.


