En lab academia siempre buscamos conectar las herramientas de desarrollo (como Unity) con enfoques educativos motivadores — al igual que hacemos con Minecraft Education. Por eso, hoy te propongo esta Guía completa de Tilemaps en Unity, pensada tanto para docentes como para estudiantes que quieren introducirse en creación de mundos 2D con buena práctica, lógica clara y usos en proyectos de aprendizaje.
Mira el video completo y aprende a usar tilemaps en Unity
¿Por qué usar tilemaps en Unity?
Antes de entrar en detalles técnicos, conviene revisar el porqué de los tilemaps. Si alguna vez construiste niveles 2D colocando individualmente sprites en la escena, sabés que eso se vuelve ineficiente, difícil de modificar y propenso a errores.
Si cambiamos la metodología de trabajo a la herramienta adecuada, los tilemaps nos ofrecen:
- Modularidad: reutilización de “tiles” (segmentos gráficos) que se combinan para formar escenarios completos.
- Eficiencia: menos draw calls, mejor renderización y optimización para juegos con muchas piezas visuales.
- Flexibilidad: posibilidad de cambiar, animar o alterar tiles en tiempo de ejecución mediante scripts.
- Facilidad de diseño: herramientas dentro de Unity (Tile Palette, brushes, rule tiles) que automatizan la creación de mundos 2D.
Para proyectos educativos — donde los estudiantes pueden experimentar, equivocarse, iterar — los tilemaps permiten crear niveles, mundos, mapas de ejercicio o escenarios que responden dinámicamente o cambian según la lógica del programa.
Es un ejercicio simple, donde con una clase explicativa y un poco de traqueteo en clase, ya podrás encargar un objetivo claro. Te recomiendo complementar las tareas con la(s) leccion(es) oficiales de Unity Learn para Tilemaps 2D.
Requisitos previos: ¿Qué hace falta antes de comenzar?
- Tener una versión de Unity que incluya (o permita añadir) el módulo 2D / Tilemap (generalmente en los paquetes de “2D extras” o “2D tilemap editor”). Cualquiera de las nuevas te valdrá.
- Conocimiento básico de Unity: escena, jerarquía, GameObjects, componentes, uso del editor de escenas. Si no sabes de qué hablo, mirá este curso de Unity Essentials.
- (Recomendado, pero no obligatorio) Conocimientos básicos de C# para cuando toquemos scripting (SetTile, GetTile, etc.).
- Un tileset o conjunto de sprites que representen los tiles (suelos, paredes, bordes, etc.), ya recortados y prontos para importar. Podés encontrar cientos de tilemaps creados por la comunidad en itchio y en los recursos de pago y gratuitos del marketplace de Unity
1. Preparar assets: importar el tileset
- Trae tus imágenes al proyecto (por ejemplo, carpeta
Assets/Tiles). - En el inspector del sprite, configura:
- Sprite Mode: múltiple (si el archivo es un atlas)
- Pixels Per Unit: define la escala coherente para tu juego 2D
- Pivot: centro, inferior, personalizado, según si las piezas necesitan alinearse bien
- Aplica “Slice” en el Sprite Editor si es una imagen con múltiples sprites, para separar cada tile. (Lo hacemos justo al principio del video)
Este paso garantiza que cada pieza gráfica esté lista para usarse como tile individual.
2. Crear la Grid + Tilemap
Unity organiza los tilemaps dentro de una estructura de Grid, que define la cuadrícula base:
- En la jerarquía, crea un GameObject → 2D Object → Grid.
- Dentro de ese Grid, añade un GameObject hijo → 2D Object → Tilemap (y un Tilemap Renderer).
- Revisa las propiedades del Grid (cell size, cell gap) si tu tileset no es estándar.
- El componente Tilemap representa la estructura lógica, mientras que Tilemap Renderer controla cómo se dibuja (sorting layer, modo Chunk o Individual).
Con estos pasos ya tienes una “base de pintura” para colocar tiles.
3. Crear y usar la Paleta de Tiles (Tile Palette)
La Tile Palette es la herramienta principal para diseñar el mapa visualmente:
- Ve a
Window → 2D → Tile Palette. - Crea una nueva paleta (elige nombre y carpeta).
- Arrastra tus sprites o piezas desde el proyecto hacia la paleta; Unity te preguntará cómo crear los tiles correspondientes.
- Selecciona el tilemap destino (esas capas habilitadas serán las que “reciban” el pintado).
- Verás herramientas: pincel, borrador, rellenar, muestreador, etc.
Así ya podés pintar tu escena fácilmente usando los tiles de la paleta.
4. Pintar el nivel
Con la paleta activa y un tilemap seleccionado:
- Usa el pincel para dibujar directamente sobre la escena.
- Con el borrador quitas tiles.
- Puedes reemplazar un tile por otro seleccionándolo y luego pintando encima.
- Usa relleno de regiones (flood fill) si querés cambiar áreas amplias.
- Es posible tener múltiples capas de tilemaps (fondo, medio, capa frontal) que se pintan por separado y permiten superposición visual.
Este paso es muy visual: creás el mundo como si estuvieras coloreando, pero con lógica de juego.
5. Rule Tiles / Auto-Tiling
Para evitar tener que colocar manualmente transiciones o bordes entre tipos de terreno, Unity ofrece Rule Tiles (tiles con reglas automáticas):
- Crea un Rule Tile (asset) dentro del proyecto.
- Agregá reglas de adyacencia: por ejemplo, si un tile de “agua” rodea al “suelo”, cambia el sprite para formar bordes suaves.
- Configurá rotaciones, flip, variantes de sprite para distintos vecinos.
- Aplicalos desde la paleta al tilemap como cualquier otro tile.
Con esto, cuando pintás un terreno, los bordes y las formas intermedias se adaptan automáticamente, haciendo tus mapas más limpios y profesionales.
6. Colisiones con tilemaps
Para hacer que los personajes interactúen con el mundo (que no atraviesen muros, que caminen sobre el suelo):
- Añadí al GameObject del tilemap el componente Tilemap Collider 2D. Esto genera colisiones automáticamente según los tiles colocados.
- Para optimizar, podés usar un Composite Collider 2D: combina las colisiones de muchos tiles en formas más simples y reduce costos de procesamiento.
- Ajustá parámetros como “Used by Composite” y “Geometry Type”.
- En el jugador u objeto que debe colisionar, usá Rigidbody2D, Collider2D y métodos de detección (por ejemplo
OnCollisionEnter2D).
De esta manera, tu mundo tileado no es solo visual: los objetos pueden moverse, chocar, caer, etc.
Extra: Tiles animados (Animated Tiles)
Para escenarios más dinámicos (agua ondulante, lava, luz parpadeante):
- Crea un Animated Tile (asset).
- Define una secuencia de sprites (frames) y velocidad de animación.
- Pon ese Animated Tile en tu tilemap desde la paleta.
- Unity se encarga de animarlo dentro del escenario al correr el juego.
Tené en cuenta que demasiadas animaciones simultáneas pueden afectar el rendimiento, por lo que es bueno usarlas con moderación.
Extra: Cambiar tiles mediante código
Una de las fortalezas del enfoque tilemap es que podés modificar el mundo en tiempo de ejecución desde scripts:
- Obtén una referencia al
Tilemapen C# (por ejemplo:Tilemap miMapa = GetComponent<Tilemap>();) - Usa
miMapa.SetTile(Vector3Int pos, TileBase tile)para colocar un tile - Usa
miMapa.GetTile(Vector3Int pos)para revisar qué tile hay - Usa
miMapa.ClearTile(Vector3Int pos)para borrar - Podés reaccionar a eventos del juego: destruir un muro, cambiar un piso cuando el jugador pisa un trigger, generar un camino, etc.
Este control dinámico es ideal para proyectos donde el mundo debe adaptarse, evolucionar o reaccionar al usuario.
Contenidos Avanzados
Optimización y buenas prácticas con tilemaps
Para asegurar que tu juego 2D con tilemaps funcione fluido y bien:
- Usá Composite Collider y “Used by Composite” para reducir cálculos de colisiones redundantes.
- Elegí el modo Chunk en Tilemap Renderer cuando sea posible, para agrupar la renderización en porciones (chunks) y reducir draw calls.
- Divide mapas muy grandes en tilemap por secciones (chunks) para cargar / descargar según necesidad o cámara.
- Organiza tus capas: fondo, objetos de medio, capas frontales, etc., para evitar superposiciones innecesarias.
- Evitá tiles ocultos que no se ven: no pintes piezas detrás de otras si no aportan visualmente.
- Controlá la cantidad de animaciones simultáneas para no saturar el render o CPU.
Problemas comunes y soluciones
Aunque todo parezca ideal, al trabajar con tilemaps pueden aparecer errores frecuentes. Aquí algunos y cómo resolverlos:
| Problema frecuente | Causa posible | Solución sugerida |
|---|---|---|
| Tiles que no se ven | Orden de capa o sorting layer mal configurado | Revisar Tilemap Renderer y Sorting Layer |
| Colisiones extrañas | Collider no coincide con sprite o no se usa Composite | Ajustar colisión o activar “Used by Composite” |
| Brechas entre tiles | Tiles no alineados, pivotes incorrectos | Verificar pivote, cell size, alineación del sprite |
| Mal rendimiento | Muchos draw calls o múltiples colisiones pequeñas | Usar chunk rendering, Composite Collider, dividir tilemaps |
| Rule Tiles no adaptan bien | Reglas incompletas o vecinos mal definidos | Revisar reglas de adyacencia, rotaciones, variantes |
| Cambios en tiempo de ejecución no aplican | Posición incorrecta (Vector3Int mal calculada) | Verificar que convertís posición mundial a posición de grid |
Con esas comprobaciones y ajustes, la mayoría de los errores típicos se solucionan.
Ejemplo práctico completo: nivel simple con lógica dinámica
Para consolidar lo aprendido, imagina construir un pequeño nivel:
- Importás un tileset que tiene suelo, piedra, bordes y agua.
- Creás la Grid + Tilemap + Paleta.
- Pintás un terreno principal de “suelo” y bordes usando Rule Tiles para transición suave al “agua”.
- Añadís colisiones: muro de piedra que no permite paso.
- Insertás un Animated Tile: agua animada.
- Programás que, al presionar una tecla, cambie un tile de “suelo” a “puente” para cruzar sobre el agua (usando SetTile).
- Ponés un jugador con Rigidbody2D que camine sobre el suelo pero no atraviese las piedras.
- Visualizás el juego corriendo y ves cómo el mundo responde al jugador.
Ese mini-proyecto puede ser tu ejercicio guía para estudiantes: que configuren su primer mundo, agreguen lógica, corrijan errores y lo expandan.
Cómo vincular esto al aula STEAM con Unity
- Proyectos de programación: que los estudiantes creen niveles que respondan a condiciones: abrir puertas, activar switches que modifican tiles.
- Matemática y geometría: usar vectores, posiciones enteras (Vector3Int), transformaciones de coordenadas.
- Diseño de niveles: pensar en experiencia de usuario, transición visual entre terrenos, balance de obstáculos.
- Física / colisión: experimentar cómo los colliders interactúan y cómo se detectan impactos.
- Iteración y prototipado rápido: cambiar mapas fácilmente para probar hipótesis.
Así como tus lecciones con Minecraft proponen retos, estructuras y programación del Agente, esta guía permite trasladar esa lógica al motor Unity, ofreciendo una “puerta de salida” hacia creación de videojuegos reales.
Soy Juan Ignacio Lanosa y soy un apasionado de la Educación STEAM. Profe de programación, videojuegos, minecraftero y fundador de lab academia.
Te contaré cómo crear aulas innovadoras, clases memorables y trabajar con la tecnología educativa al máximo.
