Build a shoot ’em up with Unity 6
Twelve complete lessons: from a 2D scene to movement, combat, waves, pickups, feedback, and a playable Web build.
- 0Shmup #0: The starting map — prepare a project you can finish
Understand the destination, prepare the tools and artwork, and establish reliable lesson checkpoints before writing code.
5 min read - 1Shmup #1: Anatomy of a 2D screen — camera, layers, and stars
Build the static screen first, then add motion through world units, camera framing, sorting, and repeating star layers.
5 min read - 2Shmup #2: From a button press to the ship's position
Trace input through an Action, a Vector2, and a Rigidbody2D, then calculate camera bounds to keep the ship visible.
5 min read - 3Shmup #3: The lifetime of a shot — from Fire to expiry
Understand prefabs and instances through one projectile: its muzzle, motion, cooldown, and expiration.
5 min read - 4Shmup #4: Two projectile lifetimes — understand object pooling by comparison
Compare create/destroy with rent/return, define reset responsibilities, and migrate the complete shooting system without changing its behavior.
6 min read - 5Shmup #5: Collision rules — from overlap to damage and death
Define interactions before wiring colliders, then complete Health, DamageOnContact, and EnemyMover with repeatable checks.
7 min read - 6Shmup #6: One machine, many enemy types — separate configuration from state
Derive EnemyData, Apply, and WeaponData from two enemy variants, while keeping shared configuration separate from per-instance health.
6 min read - 7Shmup #7: Draw the schedule, then build the wave spawner
Use a timeline to understand coroutines, count, interval, and delayAfter, then spawn different enemy types from one pool.
6 min read - 8Shmup #8: A run's lifecycle — score, health, Game Over, and Restart
Begin with run states, divide Health, GameSession, and HUD responsibilities, then connect events and restart without broken references.
6 min read - 9Shmup #9: A pickup's journey and the lifetime of a buff
Make one healing pickup work before adding shields, rapid fire, refresh rules, and the two stages of loot probability.
7 min read - 10Shmup #10: Designing feedback — hear and see each event
Map gameplay events to sound, sprite flashes, particles, and camera shake, finishing each response before combining them.
9 min read - 11Shmup #11: From project to playable link — build and publish for the Web
Pass Editor, local-build, and hosting checks; understand output files, compression, and measurements before sharing the game.
5 min read