Groundwork

Track · FPS · Unity build

Build a first-person shooter in Unity in a week.

The industry route. You will build a real Call-of-Duty-flavored arena shooter in Unity 6: a polished environment, animated weapons, enemies with navigation and animation, a full HUD with a radar, post-processing, sound, and a shareable build. This is the engine actual studios ship on, and it is a hard week, ten to twelve focused hours a day, plenty of debugging, and real editor work alongside the code.

How AI fits in Unity (read this first)

Be clear-eyed: an AI agent is a scripting and architecture assistant in Unity, not an end-to-end builder. It writes excellent C#, shaders, and custom editor tools, and it can drive the editor through a Unity MCP bridge, but Unity's real work lives in a visual editor and binary scene and asset files an agent cannot fully see. So you will do more hands-on editor work here than in the browser version, and lean on free art assets to look professional without being an artist. The payoff: skills that transfer straight to a games job.

How this track actually works

Each day is a milestone, not a single prompt. Expect dozens of prompts, many Play-mode tests, and real debugging, plus time spent in the editor wiring prefabs, baking navigation, and dropping in assets. The discipline that keeps it from becoming slop: spec the day before you prompt, review every C# diff, and enter Play mode after every change. Keep the five chops open in another tab.

#Day 0: the engine, the assets, and the harness

  1. Unity 6. Install Unity Hub, then the latest Unity 6 LTS. Unity Personal is free. Create a new 3D (URP) project.
  2. IDE + agent. JetBrains Rider (free for non-commercial) or VS Code with the C# Dev Kit, plus an AI agent (Claude Code, Codex, or Cursor) opened in the project folder.
  3. The editor bridge (optional but recommended). The free Unity MCP package lets the agent create objects and run things in the editor: Window → Package Manager → + → Add package from git URL.
  4. Free assets so it looks good. Animations from Mixamo, plus a free environment kit and a free weapon pack from the Unity Asset Store. You are a developer this week, not a 3D artist.
  5. Git with a Unity .gitignore, and a CLAUDE.md / AGENTS.md documenting conventions: use the new Input System, SerializeField for inspector fields, prefer events over polling, and propose a plan before large changes.
ask your AISet up the project conventions in AGENTS.md for a Unity 6 URP first-person shooter: the new Input System, SerializeField for inspector-exposed fields, ScriptableObjects for weapon and enemy data, small single-responsibility components, and a note to propose a short plan before large changes. Then create a simple test scene with a lit ground plane and confirm the MCP bridge can add a cube.
Concept · The editor and the harnessUnity development is part code, part editor: the Scene and Game views, the Hierarchy of objects, the Inspector where components expose values, and prefabs (reusable object templates). You are also setting the contract the agent follows all week. Understanding the editor and the C# the agent writes, together, is what keeps you in control.
Your turn: create one cube by hand, make it a prefab, change the prefab, and watch every copy update. That prefab workflow is the backbone of everything ahead.
Running A URP project, free assets imported, the agent wired into the editor, and a written harness.

1Day 1: controller and a real environment

ask your AIWrite a first-person controller using a CharacterController and the new Input System: mouse look, WASD, gravity, jump, sprint, and crouch, with values exposed in the inspector. I will build the level from the environment kit; help me set up URP lighting, a skybox, and post-processing (bloom, color grading, ambient occlusion) so a greybox blockout reads as a real space.
Concept · CharacterController, Input System, URPThe CharacterController handles movement and collision without full physics; the Input System maps keys and mouse to actions cleanly. URP with post-processing is what makes Unity scenes look modern: lighting, bloom, and color grading do most of the visual heavy lifting. You will greybox the arena first (design before decoration), then dress it with the kit.
Your turn: block out the arena yourself with primitives before adding art: sightlines and cover first, looks second. Then tune controller speed and sensitivity until it feels right.
Playable You move through a good-looking, well-lit arena in first person.

2Day 2: animated weapons

ask your AIBuild a weapon system driven by ScriptableObjects (fire rate, damage, spread, ammo, reload time). Implement raycast firing with muzzle flash and impact effects using particle systems, plus reload logic. I will hook up the weapon models and animations; help me wire fire, reload, and equip animations, add three weapons with distinct data, and weapon switching with audio.
Concept · ScriptableObjects and the asset pipelineScriptableObjects are Unity's way to store data as assets, so a designer can tune weapons in the inspector without touching code: this is real data-driven design. You will meet particle systems for effects, the animation pipeline for weapon motion, and AudioSource for sound. The agent writes the systems; you wire the assets in the editor.
Your turn: duplicate a weapon ScriptableObject and tune it into a new gun without writing code. That is the power of data-driven design, felt directly.
Playable Three animated weapons with distinct feel, effects, and reloads.

3Day 3: enemies with navigation and animation

ask your AICreate an enemy prefab driven by a NavMeshAgent with a state machine (patrol, chase, attack, retreat) and line-of-sight checks. Write the AI in C#; I will bake the NavMesh and set up the Animator. Add health and damage, hook Mixamo run, attack, and death animations to an Animator Controller, and make two enemy types (a melee rusher and a ranged shooter). Keep it smooth with twenty enemies.
Concept · NavMesh, Animator, and prefab variantsUnity's NavMesh gives pathfinding almost for free once you bake a walkable surface; a NavMeshAgent steers around obstacles. The Animator Controller is a visual state machine for animation that you drive from your AI's state in code. Prefab variants let the two enemy types share a base. Performance and animation transitions are the hard parts.
Your turn: bake the NavMesh yourself and watch an agent path around a wall. Then tune one enemy type's speed and attack range into a different threat.
Playable Animated enemies path through the arena, take cover, and attack. It is tense.

4Day 4: combat systems and the game loop

ask your AIAdd player health and armor and a damage system using collision layers, with headshot and bodyshot damage zones, hitmarkers, and directional damage indicators. Build a game manager that runs waves of escalating enemies with breaks, tracks score and kill streaks, and handles game-over and victory, using events rather than scattered references. Tune the first five waves to ramp from easy to hard.
Concept · Architecture: layers, events, and managersCollision layers decide what can hit what; damage zones (separate colliders) make headshots possible. A central game manager with an event system keeps systems decoupled instead of a tangle of direct references, the single most important architecture decision in the project. Balancing the waves is design only you can do.
Your turn: review how the manager talks to other systems. If it reaches directly into everything, ask the agent to refactor toward events, and understand why that is better.
Playable A full combat loop with armor, headshots, escalating waves, and win/lose states.

5Day 5: HUD, menus, and game feel

ask your AIBuild the UI: health and armor bars, ammo, a radar showing nearby enemies relative to my facing, a kill feed, a reactive crosshair, and an objective marker. Add main menu, pause, and settings (sensitivity, FOV, volume) with proper scene management. Then add game feel with Cinemachine camera shake on hits, a damage vignette via post-processing, hit-stop on kills, and particles.
Concept · Unity UI, scenes, and CinemachineYou will build the HUD with Unity's UI system and learn scene management (menu, game, and how to transition). Cinemachine gives professional camera behavior including impulse-based shake. The radar projects world positions into screen directions, a real bit of math. Juice via post-processing and hit-stop is what makes it feel like a shipped game.
Your turn: tune the Cinemachine shake until a hit feels weighty but not nauseating. Calibrating feel is a judgment you are developing.
Playable A real HUD with radar and kill feed, full menus, and satisfying combat feel.

6Day 6: audio, optimization, and content

ask your AISet up spatial 3D audio through an Audio Mixer: positional footsteps and gunfire, enemy sounds, and music that shifts in combat. Do an optimization pass with object pooling for bullets and effects, LOD groups, occlusion culling, and the Profiler to hold 60fps. Then add content: a second level, health and armor and ammo pickups, and one elite enemy with more health and a special attack.
Concept · Audio Mixer, the Profiler, and poolingThe Audio Mixer routes and balances 3D sound. Object pooling (reuse instead of Instantiate/Destroy) avoids the garbage-collection stutter that plagues bullet-heavy games. The Profiler is how you find the real bottleneck instead of guessing, with LOD groups and occlusion culling cutting what Unity has to draw. This is the day it runs smooth.
Your turn: open the Profiler before and after pooling and read the frame-time difference yourself. Measuring the win is the engineering habit.
Playable Smooth 60fps, spatial sound, two levels, pickups, and an elite to fight.

7Day 7: build it and share it

ask your AIHelp me make a WebGL build so people can play it in a browser from a link, and a desktop build as a backup. Walk me through Player Settings, a custom name and icon, and uploading to itch.io. Help me capture screenshots and a short clip for the page.
Concept · The build pipeline and platformsUnity's build pipeline turns your project into a real, runnable game. A WebGL build plays in a browser (shareable by link); a desktop build is a downloadable executable. Player Settings handle branding and platform options. Shipping is where most projects die, so finishing yours puts you ahead of most learners, and a WebGL link is the easiest way to show friends.

Stretch goals (each its own adventure)

  • Smarter enemies — Unity's free ML-Agents toolkit trains characters with machine learning.
  • An AI announcer — call a language model at runtime for dynamic callouts.
  • MultiplayerNetcode for GameObjects, the true Call of Duty frontier and a project of its own.
Your turn: send the link to one person and watch them play without helping. Their confusion is your next task.
Shipped A complete Unity shooter with a browser link, built in a hard week, that you are proud to share.

#Where to go next

You built a real game in the engine studios ship on: a controller, data-driven weapons, NavMesh and Animator enemies, an event-driven combat loop, UI and Cinemachine, an Audio Mixer, profiling and pooling, and a shipped build, understanding the C# the whole way. To go deeper:

  • Fundamentals, free: Unity Learn (Unity Essentials, then Create with Code) and Code Monkey. Filling in fundamentals after building something fun makes them stick.
  • The chops: return to Vibe → agentic. Spec each new feature before prompting, then review every diff.
  • The pure-code route: compare engines by running the browser FPS week in Three.js.
  • Practice with a deadline: a game jam on itch.io teaches more in a weekend than a month of tutorials.
The honest part

Unity is a deep tool and an AI agent only takes you part of the way: it writes the C# and the editor scripts, but you drive the editor, wire the assets, and make the design calls. That is the point. A week of real editor work plus directing an agent, and you have shipped something studios would recognize, while staying the senior partner who understood it. Get excited, then put in the hours.

Built to be rebuilt. Open source, no tracking, works offline.