
Set up a new Unity project for the stealth game with the latest Unity version and universal 3d, saved locally, then add 2d sprites from the Unity registry.
Import a Unity package to bring free CC0 assets—art, audio, and 3D models from Kenny and Quaternius—into your project, then begin building while noting minor model warnings.
Set up a test Unity scene: create a blank URP scene, add a ground plane, place a capsule as the player, tilt the camera, and enable v-sync.
Create a Unity mono behavior script named player controller, adjust the player's transform.position with a vector3, and implement frame-rate independent movement using time.deltaTime and a public move speed.
Learn to capture player input with Unity's input system, map move actions from keyboard and gamepad, normalize movement, and apply it to the player using Vector2 and Time.deltaTime.
Learn how to add obstacles with colliders and use a character controller to move the player, detect interactions, and prevent passing through obstacles.
Visualize and control the facing direction by rotating only the model based on movement input, using quaternion.lookRotation to align the visual with the movement direction.
Enable smooth turning in Unity by preventing rotation reset when input stops and interpolating toward the look direction with a configurable turn speed using slerp.
Learn to make a Unity camera follow the player with a fixed offset, using Vector3.Lerp for smooth motion, and late update to reduce jitter.
Replace the capsule with a Kenny character model in Unity, attach and resize it to fit, then swap skins and materials and add animations for a polished stealth character.
Learn to set up animations in Unity with an animator controller, add idle, walk, and sprint loops, and configure entry-to-default state transitions.
Drive Unity character animations by using a speed parameter linked to move input magnitude. Update the animator from code with SetFloat to enable smooth idle to sprint transitions.
Rename the sprint input to a walk control, set a walk speed, and drive an active move speed that updates while the walk button is pressed, syncing movement and animation.
Implement walking animation transitions in Unity by connecting idle, walk, and sprint states with speed thresholds and a 0.1 duration to achieve smooth, speed-driven transitions between states.
Create a roll mechanic in a Unity and C# stealth game by adding a roll input, setting roll speed and length, and triggering an animator roll through any state transitions.
Implement a functional roll by using roleCounter from roleLength and countdown with time.deltaTime, align roll direction to the model.forward, and apply it to move input while switching activeMoveSpeed to roleSpeed.
Add an aim action in Unity using the input system to stop movement while aiming, with mouse and gamepad bindings, for thoughtful stealth gameplay in C#.
Add a pistol aim neutral animation and an aiming bool in the animator, then sync the gun to the player's right hand for a believable stealth aiming view.
Implement a mouse aiming system by converting the screen mouse position to world space with the main camera, then compute the aim direction and apply a quaternion look rotation.
Learn to enable controller aiming in Unity by separating mouse input, wiring a look action, and using last mouse position checks to keep aim stable with a gamepad.
Toggle the weapon's visibility with the aiming state by using a public game object reference and weapon.setActive(true/false); deactivate by default and activate when aiming.
Fix the aim snapping issue by adjusting the first-aim rotation and last mouse position update, ensuring the character immediately points to the mouse and is ready to shoot.
Create and map a shoot action using input system, trigger a pistol shoot animation when aiming, and refine transitions so the shoot animation can't transition to itself and plays instantly.
Create a reusable impact effect in Unity by designing a particle system, turning it into a prefab, and instantiating it at hit.point with a default rotation on wall impacts.
Add a public int current ammo to track ammo in a stealth game, default it to 10 shots, and decrement on fire so players can’t shoot when out of ammo.
Learn to auto-connect the UI controller using find first object by type, replacing manual references and preventing scene errors while updating ammo display.
Learn to manage ammo in a stealth game by tracking current ammo, remaining ammo, and a clip size, and implement a reload function to refill from remaining ammo.
Add a manual reload feature by binding a reload action to keyboard and gamepad inputs in Unity and C#, and refill ammo based on the clip size and current ammo.
Demonstrate updating the on-screen ammo display with two int value updates in Unity. Show current and remaining ammo (e.g., 10 of 60) updating during fire and reload.
Create an ammo pickup in Unity that uses a trigger collider and on trigger enter to call get ammo on the player controller, then destroy the pickup.
Master how to use Unity’s layer system to ignore ammo pickups by creating a pickup layer, applying a layer mask called what can be shot, and adjusting raycasts.
Create a reusable shootable object with a target, box collider, and ShootableObject script that destroys it when hit by the player's raycast, with a random chance to drop ammo pickups.
Learn to make a target object drop an ammo pickup on destruction, spawning a custom destroy effect via prefabs and instantiation, with a configurable 0–100 chance in Unity.
Create an enemy by adding an empty object and selecting a model from the Quaternions assets, then attach a capsule collider (height 1.8, center 0.9, radius 0.35) to enable shooting.
Learn to set up AI navigation in Unity by baking a nav mesh surface, configuring humanoid radius, and layering to let enemies patrol and avoid obstacles.
Learn to implement enemy patrolling in Unity using a patrol points array and navmesh, with an agent that sets destinations, ignores height, and loops back to the start.
Implement an animator on the enemy with idle, walk, run, and death animations, and drive transitions using a walking bool and a dead trigger, plus health-based death.
Learn how to create and program your very own Tactical Stealth Action game using Unity, an industry-standard game development program used by large gaming studios and indie developers across the world.
In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.
This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding game design, this course will help you gain a greater understanding of development.
At the end of this course you will have developed the ability to understand such game elements as:
A full player controller system with dodging and hiding capabilities
Support for Mouse & Keyboard as well as Controllers
Using AI systems for navigation
Using Weapons and a complete ammo and reloading system
State-based Enemy Logic Systems for Guarding, Patrolling & Chasing
Destroying environmental objects to drop items
A complete Mini-Map displaying enemy vision
A unique stealth-based level completion system
Full game progression Menus
And more...
The course also includes a complete version of the project to use for your own reference to ensure everything in your game works as it should!
Start learning today and let me help you become a game developer!