
Design and build a rail shooter game in Unity, using object oriented programming with inheritance and interface events, plus post processing to enhance visuals, inspired by House of the Dead.
Create a new Unity 3D project with the built-in render pipeline, disable auto generate lighting, install ProBuilder, ProGrids, and post-processing, then import Robot Kyle and textures, organizing assets.
Model a rail shooter environment with ProBuilder, building walls and ground on a 13-unit grid, then create an environment grid material with emission for post-processing glow.
Move a camera along a Unity spline. Implement a path script with stop or loop options, normalize distance, and rotate the camera along the path.
Implement shootout points that pause the camera at set distances, spawn enemies, and resume along the path, with testing via space and enter keys.
Design and implement a basic shooting mechanism in Unity by defining the hit the ball interface and using a camera raycast on click to apply force.
Build a basic enemy with a navigation mesh agent and a kinematic capsule, initialize health and player targeting, spawn enemies at shoot-out points via prefabs, and destroy them on death.
Prepare the enemy robot by switching its rig to humanoid, uploading the FBI model, and retargeting walk and rifle animations to fit the robot Kyle in unity with proper scale.
Create an enemy prefab with a collider, align the robot model, and build a blend-tree animation controller using X and Z speed to drive idle and run motions in Unity.
Fix the enemy movement in Unity by syncing the navmesh agent with the target and smoothing motion, and add hit and death animations with triggers and a destroy delay.
Implement the IHit interface to trigger surface hit particle effects in Unity by instantiating a non looping burst at the hit point, facing the surface normal.
Implement enemy hit effects in Unity by refactoring to support hittable components using a hitbox array and a for-each loop, and applying the electric prefab from the FDX Electric package.
Design explosive props in the Unity rail shooter that players shoot to trigger explosions and damage enemies. Implement an explosion damage script with a radius, destruction delay, and gizmo visualization.
Design and implement a custom weapon system in Unity, including scriptable weapon objects, a fire type enum, ammo management, and automatic revert to the default weapon when ammo depletes.
Build a weapon pickup system in Unity for a rail shooter, creating a weapon pickup script, swapping to the new weapon, and updating the interface for current weapon and reload.
Learn to implement weapon effects in Unity by creating muzzle effects, caching particle systems, and scaling muzzle flashes, while aligning impact particles for realistic rail shooter visuals.
Create a static extension for Unity to run a provided action after a delay, using a coroutine on a behavior class.
Design and build a thrilling rail shooter in Unity with a singleton game manager that handles start, gameplay, and level states, providing a three-second transition to gameplay and score setup.
Extend the game manager to implement player health, enemy hits, and shot tracking for accuracy in Unity, with private variables and public methods for shot and player hit.
Learn to visualize and animate weapon pickups in Unity by importing a sci-fi gun model, adjusting prefabs and spawn offsets, and rotating the pickup for clear in-game feedback.
Design and implement an enemy attack system in Unity by adding a shoot interval range, shooting coroutine, accuracy settings, and player damage integration for a rail shooter game.
Explore the physical aspects of enemy attack visuals by building a bullet particle system in Unity with a forward-facing shell, trail effects, and world-space alignment to create convincing gunfire.
Import the kino glitch asset, apply a digital glitch to the main camera, and implement a timer-driven camera shake with adjustable amplitude and frequency, triggered by player damage.
Implement a hostage mechanic by creating a hostage script that inherits from the enemy, set up upper body animation masks, import hostage animations, and subtract lives when shot.
Create an area timer for each shoot-out area in a Unity rail shooter and trigger area clear when time expires, stopping enemy shooting, using a dedicated timer object.
Create and track game stats in Unity by recording shots fired, enemies killed, total enemies, and hostage killed, with register enemy and hostage killed methods for accuracy and score calculations.
Design and implement a Unity health bar UI by importing a UI pack, wiring a UI manager to a slider, and updating health through init and update methods.
Update the UI system to reflect weapon changes, refresh ammo display, and show the reload warning when ammo runs out, using on weapon change and on weapon fire events.
Create a Unity UI timer by using a canvas under the game manager, add text mesh pro timer, and connect to a static on timer change event for live updates.
Add a hostage killed UI text that appears at the hostage's world position, clamps inside the screen with an extension method, and refine camera tilt during shootouts.
Create the intro UI and end screen for a Unity rail shooter, wiring the canvas and screen prefabs, and display enemy kills, hostage killed, shots, and accuracy via UI manager.
Fix and polish a Unity rail shooter by resolving the get remaining distance error after kills, hiding enemies and hostages at start, and correcting total enemy counts and UI placement.
Students learn to replace the mouse cursor with a red cross-hair in Unity by creating a UI image, scripting its movement to follow the mouse, and hiding the default cursor.
Applies post-processing filters and updates materials for the robot, enemy, and hostage, creates a custom skybox, and sets up a post-processing profile with ambient occlusion, bloom, and color grading.
Fix enemy upper body motion in Unity by creating an upper body layer with idle, hit, and dead states, syncing transitions to ensure reliable rifle aiming and responsive hit reactions.
Set up the Unity audio system with a scriptable object audio library that uses pitch-randomized clips and a get-by-name accessor. Populate the library with gunshot and electric zap sounds.
Design and build a thrilling rail shooter in Unity by implementing an audio system with a global audio player, a six-source pool, and mixer groups for sound effects and music.
Create a custom property drawer for the audio getter in Unity to present a dropdown of audio names from the audio library, reducing typing errors when assigning weapon sound effects.
Optimize the audio workflow by using id-based references from an audio library, implement 2d/3d sound with spatial blend, and add a play music method for background tracks.
Build an audio library and optimize import settings, including streaming for BGM, then implement play-sfx and play-music scripts to assign gunfire, damage, hits, pickups, and explosions in Unity.
Separates shot hit from shots fired to fix the bug where shots fired double counts hits, updating weapon and enemy logic in Unity.
Implement a rank calculation system in Unity that computes a total average from enemy kill ratio and accuracy, applies a hostage penalty, and assigns A–D ranks on the end screen.
Import a post panel UI, set up an audio mixer with exposed volume parameters, and implement a slider-based volume system saved by PlayerPrefs. Pause with Escape to reveal the panel.
Add a player dead flag in the game manager and trigger the show screen when health reaches zero, then halt enemy shooting, and stop player movement, and cancel relevant timers.
Create a title menu scene in Unity by setting the camera clear color to black, adding a canvas and menu prefabs, and wiring resolution and quality dropdowns to update settings.
Wire title menu in Unity: connect start game, option, and quit buttons to a title menu manager, load gameplay scene, and return to the title scene with on click listeners.
Finalize the rail shooter by configuring 64 bit builds, setting the company and product names, applying the default icon, and validating audio, resolution, and UI interactions in Unity.
Fixes the area clear bug in a Unity rail shooter by adding a previously clear boolean and updating area clear logic to ensure correct progression.
Updated and Tested on the Latest Unity 2022.3.62f2 LTS version!
Ready to learn how to create a thrilling rail shooter game that will keep players engaged for hours? Join us in this exciting course where we'll teach you how to create a game similar to Virtua Cop and House of the Dead series from scratch using Unity.
Throughout the course, you'll learn about object-oriented programming and gain a better understanding of Unity's C# API. We'll show you how to download all the assets you need for the project for free from the Unity asset store, and we'll provide links to these assets in the lectures.
But that's just the beginning. We'll delve into advanced concepts like Inheritance and Interface, Events for loose coupling, path trajectory for camera movement, and post-processing to enhance the visual appeal of your game.
This course is aimed at intermediate level students with a basic knowledge of Unity's C# API, but anyone who wants to learn how to make games is welcome to join. Whether you're an indie game developer, a seasoned pro, or just a game enthusiast looking to learn more about game development, this course is for you.
So why wait? Sign up now and learn how to create a rail shooter game that will have players coming back for more!
What they say about this course:
Andrew Newman - "Halfway through, and I've been really delighted to work along with this tutorial and have been seeing 1:1 consistency between what is being taught and what I'm able to create. Looking forward to finishing soon!"
Brian Cole - "Excellent course. Lots of new ideas and tips that you don't see in a beginner course e.g. extensions. I particularly like the very flexible way he implements the audio system."
Michael - "Excellent. Second course I have taken with the excellent instructor."