Cómo hacer un juego Shooter en Unity paso a paso — Guía completa con IA
Introducción
Shooter Game es un videojuego de disparos en tercera persona desarrollado en Unity como proyecto universitario. La idea principal era crear un juego completo con varios niveles, selección de personaje, enemigos con inteligencia artificial y un sistema de HUD funcional, todo construido desde cero usando las herramientas que ofrece Unity.
El juego cuenta con cuatro niveles, cada uno con un escenario distinto: desde un terreno con montañas y vegetación hasta un mapa desértico. El jugador avanza por los niveles eliminando enemigos, con un sistema de vida, munición, puntaje y conteo de bajas visible en pantalla en todo momento.
Para el desarrollo de los scripts del juego se utilizó inteligencia artificial como herramienta de apoyo, lo que permitió generar el código de forma más eficiente y enfocarse en la integración, configuración y ajuste de cada sistema dentro de Unity. El siguiente documento explica paso a paso cómo se armó todo el proyecto, desde la configuración inicial hasta las escenas de menú.
Guía completa para crear un juego shooter en Unity desde cero
PASO 1 — Configurar el proyecto en Unity
Para este juego shooter en Unity usamos la plantilla 3D (URP) porque ya trae configurado el sistema de iluminación y renderizado que necesitamos, lo que nos evita ajustes técnicos desde el principio
1.1 Crear el proyecto
- Abre Unity Hub
- Click en “New Project”
- Selecciona la plantilla “3D (URP)” — Universal Render Pipeline
- Nómbralo por ejemplo:
ShooterGame - Click “Create Project”

1.2 Importar Starter Assets
- Ve a Window → Package Manager
- En la esquina superior izquierda cambia a “Unity Registry”
- Busca “Starter Assets – Third Person Character Controller”
- Click Install

PASO 2 — Crear y configurar las escenas
2.1 Crear las escenas
- En el Project panel, clic derecho en la carpeta Scenes
- Create → Scene — nómbrala
MainMenu - Repite y crea:
CharSelectLevel1Level2Level3Level4

2.2 Agregarlas al Build
- File → Build Settings
- Arrastra cada escena en este orden:
- MainMenu
- CharSelect
- Level1
- Level2
- Level3
- Level4

En este juego shooter en Unity cada nivel tiene un escenario diferente, desde un terreno con montañas y vegetación hasta un mapa desértico, para que la experiencia de juego no se sienta repetitiva
PASO 3 — Configurar Level1
- Abre la escena
Level1(doble clic) - Ve a:
Assets → StarterAssets → ThirdPersonController → Scenes
- Abre “Playground”
- Copia todos los objetos de Playground y pégalos en tu escena
Level1

Agregar Spawn Points en Level1
- En la Hierarchy clic derecho → Create Empty
- Nómbralo
SpawnPoint_1 - Muévelo a una esquina del mapa
- Repite y crea
SpawnPoint_2,SpawnPoint_3,SpawnPoint_4 - Ubícalos en diferentes esquinas del mapa

Agrupamos los spawn points:
- Crea un Empty → nómbralo
SpawnPoints - Arrastra los 4 spawn points dentro de ese objeto como hijos

PASO 4 — Configurar Level2
- Abre la escena
Level1(doble clic) - Primero creamos un Terreno
- En el Inspector usamos Paint Terrain para darle forma de montañas al terreno
- Después con Paint Texture le damos color al terreno

También pintamos pasto para darle más contorno al terreno

También agregamos árboles y piedras para darle más vida al nivel, vamos al Inspector, damos clic en Add Tree, elegimos el árbol que queremos y lo pintamos en el terreno.


Agregar Spawn Points en Level2
- En la Hierarchy clic derecho → Create Empty
- Nómbralo
SpawnPoint_1 - Muévelo a una esquina del mapa
- Repite y crea
SpawnPoint_2,SpawnPoint_3,SpawnPoint_4 - Ubícalos en diferentes esquinas del mapa
- Arrastra los 4 spawn points dentro de ese objeto como hijos

PASO 5 — Configurar Level3
- Abre la escena
Level3(doble clic) - Vamos a nuestros My Assets e importamos un nuevo assets ‘Low Poly FPS Map Lite’ que nos ayudara a crear nuestro nuevo escenario
- Como el asset trae un demo de escenario, lo copiamos directo y lo pegamos en el nivel 3


Agregar Spawn Points en Level3
- En la Hierarchy clic derecho → Create Empty
- Nómbralo
SpawnPoint_1 - Muévelo a una esquina del mapa
- Repite y crea
SpawnPoint_2,SpawnPoint_3,SpawnPoint_4 - Ubícalos en diferentes esquinas del mapa
- Arrastra los 4 spawn points dentro de ese objeto como hijos

PASO 6 — Configurar Level4
- Abre la escena
Level4(doble clic) - Vamos a nuestros My Assets e importamos un nuevo assets ‘Low-Poly Desert Environment Pack’ que nos ayudara a crear nuestro nuevo escenario
- Igual que el nivel anterior, el asset trae un demo así que lo copiamos y lo pegamos en el nivel 4

Agregar Spawn Points en Level4
- En la Hierarchy clic derecho → Create Empty
- Nómbralo
SpawnPoint_1 - Muévelo a una esquina del mapa
- Repite y crea
SpawnPoint_2,SpawnPoint_3,SpawnPoint_4 - Ubícalos en diferentes esquinas del mapa
- Arrastra los 4 spawn points dentro de ese objeto como hijos

Con las escenas listas, pasamos a crear el personaje.
Paso 1 — Crear carpetas
En Assets/Characters/ crea estas subcarpetas:
Characters/
├── Textures/
└── model.fbx

Paso 2 — Importar en este orden:
- Primero arrastra TODAS las imágenes (
.jpgy.png) aAssets/Characters/Textures/ - Luego arrastra el
model.fbxaAssets/Characters/
Ojo: hay que importar las texturas ANTES que el FBX para que Unity las detecte solas.

Paso 3 — Configurar el Rig
- Selecciona
model.fbx - Inspector → pestaña “Rig”
- Animation Type → “Humanoid”
- Click “Apply”

Para poner el personaje en Level1 hacemos lo siguiente:
- Ve a Assets → StarterAssets → ThirdPersonController → Character
- Busca el prefab PlayerArmature
- Arrástralo a la escena

Reemplazar el mesh
- En la Hierarchy expande
PlayerArmature - Busca el objeto hijo que se llama
GeometryoArmature_Mesh - Selecciónalo y desactívalo (desmarca el checkbox en el Inspector)
- Arrastra tu
modelde Avaturn como hijo delPlayerArmature


Crear el enemigo
El enemigo es clave en cualquier juego shooter en Unity, por eso usamos un Nav Mesh Agent para que se mueva solo por el mapa y pueda seguir al jugador de forma automática
Paso 1 — Crear el prefab del enemigo
- Ve a
Assets → StarterAssets → ThirdPersonController → Character → Models - Arrastra el modelo del robot a la escena Level1
- Renómbralo
Enemyen la Hierarchy

Paso 2 — Agregar componentes
Selecciona el Enemy y en el Inspector agrega estos componentes con Add Component:
- Nav Mesh Agent: para que se mueva por el mapa
- Capsule Collider: para colisiones
- EnemyAI
- EnemyHealth

Paso 3 — Configurar el Tag
- En el Inspector arriba → Tag → “Enemy”
- Si no existe → click “Add Tag” → crea
Enemy

Paso 4 — Asignar patrol points
En el componente EnemyAI:
- Arrastra los
SpawnPoint_1,SpawnPoint_2, etc. al campo Patrol Points

Ya con los enemigos en todos los niveles, toca configurar el GameManager y el HUD
Paso 1 — Crear el objeto
- Abre Level1
- Hierarchy → clic derecho → Create Empty
- Nómbralo
GameManager

Paso 2 — Agregar scripts
Selecciona GameManager → Add Component y agrega:
- GameManager
- AudioManager
- ParticleManager

Paso 3 — Configurar GameManager script
En el componente GameManager:
- Enemies Per Level:
10 - Total Levels:
4

Crear el Canvas HUD en Level1
Paso 1 — Crear el Canvas
- Abre Level1
- Hierarchy → clic derecho → UI → Canvas
- Nómbralo
HUD - Selecciónalo → Inspector → Canvas Scaler:
- UI Scale Mode:
Scale With Screen Size - Reference Resolution: X:
1920Y:1080
- UI Scale Mode:


Paso 2 — Crear elementos del HUD
Dentro del Canvas HUD crea estos elementos:
Vida:
- clic derecho sobre HUD → UI → Slider → nómbralo
HealthBar - clic derecho sobre HUD → UI → Text – TextMeshPro → nómbralo
HealthText
Munición:
- UI → Text – TextMeshPro → nómbralo
AmmoText
Score:
- UI → Text – TextMeshPro → nómbralo
ScoreText
Kills:
- UI → Text – TextMeshPro → nómbralo
KillCountText
Nivel:
- UI → Text – TextMeshPro → nómbralo
LevelText
Recargando:
- UI → Text – TextMeshPro → nómbralo
ReloadingText

Paso 3 — Posicionar elementos
HealthBar (vida)
- Selecciona
HealthBar - Inspector → Rect Transform:
- Anchor: arriba izquierda
- Pos X:
150Pos Y:-30 - Width:
200Height:20

HealthText:
- Clic en HealthText en la Hierarchy
- Anchor → Shift + clic en top-left
- Rect Transform:
- Pos X: 150 | Pos Y: -55
- Width: 200 | Height: 30
- Text (TMP) → 100 / 100

AmmoText:
- Clic en
AmmoTexten la Hierarchy - Anchor → Shift + clic en bottom-right (abajo derecha)
- Rect Transform:
- Pos X:
-100| Pos Y:50 - Width:
200| Height:30
- Pos X:
- Text (TMP) → escribe:
30 / 30

ScoreText:
- Clic en ScoreText en la Hierarchy
- Anchor → Shift + clic en top-center (arriba centro)
- Rect Transform:
- Pos X: 0 | Pos Y: -30
- Width: 200 | Height: 30
- Text (TMP) → Score: 0

KillCountText:
- Clic en KillCountText en la Hierarchy
- Anchor → Shift + clic en top-right (arriba derecha)
- Rect Transform:
- Pos X: -100 | Pos Y: -30
- Width: 200 | Height: 30
- Text (TMP) → Kills: 0 / 10

LevelText:
- Clic en LevelText en la Hierarchy
- Anchor → Shift + clic en top-center (arriba centro)
- Rect Transform:
- Pos X: 349 | Pos Y: -31
- Width: 200 | Height: 30
- Text (TMP) → Level 1

- Clic en ReloadingText en la Hierarchy
- Anchor → Shift + clic en center (centro, el del medio)
- Rect Transform:
- Pos X: 0 | Pos Y: -50
- Width: 300 | Height: 50
- Text (TMP) → RECARGANDO…
- Color del texto → rojo
- Este texto debe estar desactivado por defecto — quitar el checkmark arriba en el Inspector

Conectar el HUD a los scripts
Ahora hay que hacer que el UIManager sepa dónde están estos elementos.
Clic en GameManager en la Hierarchy → Inspector → busca el componente UIManager (Script)
Conecta uno por uno — arrastra desde la Hierarchy
| Campo en UIManager | Arrastra este objeto de la Hierarchy |
| Health Bar | HealthBar |
| Health Text | HealthText |
| Ammo Text | AmmoText |
| Score Text | ScoreText |
| Kill Count Text | KillCountText |
| Level Text | LevelText |
| Reloading Text | ReloadingText |

Ahora lo que haremos sera crear el disparo
- Crear un objeto vacío dentro de model y nombrarlo FirePoint.
- Configurar su posición en el Inspector:
- X: 0
- Y: 1.5
- Z: 1
Esto coloca el punto de disparo cerca de las manos del personaje. - Seleccionar model y abrir el script PlayerShooting en el Inspector.
- Cambiar Current Ammo de 0 a 30.
- Conectar los campos obligatorios:
| Campo | Qué arrastrar |
| Player Camera | MainCamera desde la Hierarchy |
| Gun Barrel | FirePoint recién creado |


Ahora configuraremos el MainMenu, iremos a la Escena MainMenu y crearemos unos Canvas, un fondo y un título y botones
Paso 1 — Crear el Canvas
- Clic derecho en la Hierarchy →
UI→Canvas - Renómbrarlo como
MainMenuCanvas - En el Inspector → Canvas Scaler →
Scale With Screen Size→ Reference Resolution:1920 x 1080


Paso 2 — Crear el fondo
- Clic derecho en
MainMenuCanvas→UI→Image - Renómbrarlo como
Background - Rect Transform → Anchor: stretch-stretch (el de la esquina inferior derecha en el Anchor Preset)
- Left/Right/Top/Bottom:
0 - Color → azul oscuro

Paso 3 — Crear el título
- Clic derecho en
MainMenuCanvas→UI→Text - TextMeshPro - Renómbralo
TitleText - Anchor: top-center
- Pos X:
0| Pos Y:-100 - Width:
600| Height:100 - Texto:
SHOOTER GAME - Font Size:
72| Alineación: centro | Color: blanco

Paso 4 — Botón Jugar
- Clic derecho en MainMenuCanvas → UI → Button – TextMeshPro
- Renómbralo PlayButton
- Anchor → Shift + clic en center
- Pos X: 0 | Pos Y: 50
- Width: 250 | Height: 60
- Expande el botón → clic en Text (TMP) → escribe: JUGAR


Paso 5 — Botón Salir
- Clic derecho en MainMenuCanvas → UI → Button – TextMeshPro
- Renómbralo QuitButton
- Anchor → Shift + clic en center
- Pos X: 0 | Pos Y: -50
- Width: 250 | Height: 60
- Texto: SALIR


Ahora conectaremos el PlayButton y el QuitButton para ello
- Clic en MainMenuCanvas en la Hierarchy → Add Component → busca MainMenu → agrégalo
- Conectar PlayButton:
- Clic en PlayButton
- Inspector → componente Button → sección On Click ()
- Clic en +
- Arrastra MainMenuCanvas al campo vacío
- En el dropdown que dice No Function → selecciona MainMenu → PlayGame()


Conectar QuitButton igual pero selecciona MainMenu → QuitGame()

Ahora configuraremos el CharSelect, iremos a la Escena CharSelect y crearemos unos Canvas, un fondo y un título y botones
Paso 1 — Canvas
- Clic derecho en Hierarchy →
UI→Canvas - Renómbralo
CharSelectCanvas - Inspector → Canvas Scaler →
Scale With Screen Size→1920 x 1080


Paso 2 — Fondo
- Clic derecho en
CharSelectCanvas→UI→Image - Renómbralo
Background - Anchor → Alt + Shift + clic en stretch-stretch
- Color → R:
20G:20B:60A:255 - Verifica que Left, Right, Top, Bottom sean todos
0

Paso 3 — Título
- Clic derecho en
CharSelectCanvas→UI→Text - TextMeshPro - Renómbralo
TitleText - Anchor → Shift + clic en top-center
- Pos X:
0| Pos Y:-80| Width:700| Height:80 - Texto:
SELECCIONA TU PERSONAJE - Font Size:
48| Centro | Color: blanco

Paso 4 — Botón Jugar
- Clic derecho en
CharSelectCanvas→UI→Button - TextMeshPro - Renómbralo
PlayButton - Anchor → Shift + clic en bottom-center
- Pos X:
0| Pos Y:80| Width:250| Height:60 - Expande el botón → clic en
Text (TMP)→ escribe:JUGAR

Paso 5 — Botón Volver
- Clic derecho en
CharSelectCanvas→UI→Button - TextMeshPro - Renómbralo
BackButton - Anchor → Shift + clic en bottom-center
- Pos X:
0| Pos Y:-30 | Width:250| Height:60 - Texto:
VOLVER

Una vez completados todos los pasos anteriores, el siguiente y último proceso es conectar los scripts que ya vienen adjuntos al proyecto. Estos scripts contienen toda la lógica del juego: el comportamiento de los enemigos, el sistema de disparo, el manejo del HUD, el GameManager y demás componentes que hacen que el juego funcione.
Para conectarlos, basta con arrastrar cada script a su objeto correspondiente en la Hierarchy tal como se fue indicando a lo largo de este documento. Con eso el juego queda completamente funcional y listo para probar desde el editor o exportar como build.
Todos los scripts fueron generados con apoyo de inteligencia artificial y están listos para usarse sin necesidad de modificarlos, siempre y cuando se haya seguido el orden de configuración descrito en este paso a paso.
Conclusiones
Con esto el juego shooter en Unity queda completamente funcional. Los cuatro niveles están configurados con sus propios escenarios, el personaje es seleccionable desde el menú, los enemigos se mueven y reaccionan con inteligencia artificial, y toda la interfaz de HUD está conectada y mostrando la información en tiempo real.
Solo queda conectar los scripts adjuntos al proyecto arrastrándolos a sus objetos correspondientes en la Hierarchy, tal como se fue indicando a lo largo de esta guía. Una vez hecho eso, el juego está listo para probarse desde el editor o exportarse como build final.
CRÉDITOS
Autor: Juan Sebastián Salamanca Gómez
Editor: Mag. Ingeniero Carlos Pinzón Romero.
Código: UCMV-9
Universidad: Universidad Central
FUENTES
LuisCanary. (2025, 13 octubre). Crea un MUNDO ABIERTO 3D en Unity en SOLO 7 MINUTOS [Vídeo]. YouTube. https://www.youtube.com/watch?v=N5TmYZYIij4
LuisCanary. (2021, 27 mayo). Aprende a CREAR un VIDEOJUEGO de DISPAROS en Unity Tutorial 2026/Introduccion/1-Capitulo [Vídeo]. YouTube. https://www.youtube.com/watch?v=y96ADRamixc
Technologies, U. (s. f.). Unity - Manual: Canvas. https://docs.unity3d.com/es/530/Manual/UICanvas.html
