A third-person tactical shooter built to reward accuracy, speed and efficient ammo management — inspired by Ghost Recon, built solo in five weeks.
Tactical Trials is a third-person tactical shooting game developed in Unreal Engine 5 as my second portfolio project — built to push further into advanced Blueprint programming, weapon mechanics, UI design, animation systems and gameplay polish than EruptionEscape. The objective: eliminate every target as fast as possible while maintaining accuracy, efficient ammo management and tactical movement.
Inspired by tactical shooters like the Ghost Recon series, I wanted a realistic shooting range focused on immersion rather than arcade-style gameplay. Throughout development I documented every major feature, bug and solution to demonstrate my technical problem-solving process and workflow.
A detailed overview of the systems implemented throughout development, evolving from a basic projectile shooter into a full tactical experience.
The core of Tactical Trials. Aiming, reload animations, recoil, weapon switching and visual feedback — objective was responsive, immersive gunplay that rewards accuracy and tactical decision-making.
Sprinting, camera effects, breathing audio and a toggle flashlight — built to improve player feedback and immersion. The flashlight system in particular improves visibility in the warehouse's darker areas.
Evolved from static targets into a dynamic range with idle and moving targets, shielded enemies, projectile collision and realistic impact effects. Walking targets use Unreal's Sin node to move between two points while auto-rotating to face travel direction — a predictable patrol route that rewards tracking over stationary practice.
Every shot fired or missed gets a clear response — bullet decals, impact smoke particles and randomised audio reinforce every hit, making combat feel responsive with immediate confirmation.
Weapon sounds, environmental ambience, voice-over narration and randomised target audio built a believable training environment. Random Sound Cue nodes vary target death sounds to prevent repetition; the Drill Sergeant voice-over (generated in ElevenLabs) is synchronised with gameplay events to guide the player.
A countdown timer begins when the player enters the training area and stops once every target is eliminated. The targets-remaining counter updates on every kill, driving faster completion times and the competitive leaderboard.
An Ammo Station Blueprint Actor uses a collision trigger to refill the player's magazine mid-run, encouraging efficient ammo management. Completion times are recorded via UE5's Save Game system, sorted and displayed on a persistent leaderboard — see the "Scoreboard Save System" bug fix below for how the save logic itself was debugged.
The warehouse was designed to replicate a military training facility — modelled in Maya, textured in Substance Painter with a green camouflage finish. Tactical lighting, flickering lights and environmental props guide the player through the course while keeping sightlines clear for combat.
Documenting the process, not just the polish — here's how three key bugs were investigated and fixed.
The player could aim and shoot, but walking, sprinting and jumping stopped working entirely.
The Blueprint had accidentally been re-parented from Character to Actor, silently removing the Character Movement component.
Changed the parent class back to Character — movement was instantly restored with no further changes needed.
Always check a Blueprint's parent class first — a simple inheritance issue had disabled multiple mechanics at once.
After finishing a trial, the leaderboard wasn't saving or updating correctly, even though the score was being added to the array.
The Save Game to Slot node was placed at the very end of the execution chain — save data was being written at the wrong point.
Moved Save Game to Slot to execute immediately after the ADD node — scores now save and persist correctly between sessions.
Execution order in Blueprint matters as much as the logic itself — now I always trace execution flow first when debugging.
Running into a downed target's body could launch the player in random directions, breaking immersion mid-run.
Physics-simulating targets still had active collision after being downed, and static meshes attached to targets (weapons, shields, helmets) were also colliding.
Set No Collision on attached assets and disabled target collision once destroyed — bodies now fall naturally without interfering with movement.
Collision presets matter as much as physics simulation — now I check every attached component, not just the main mesh.
Full demo of the leaderboard fix above: submitting a score, saving it, and it persisting after reopening the game.
I achieved what I set out to do — a more polished third-person shooter with stronger Blueprint scripting and a deeper understanding of Unreal Engine 5. I implemented ADS, weapon switching, reloading, ammo management, a Save Game system, a working leaderboard and a range of combat feedback systems. My confidence with debugging improved a lot — instead of removing features when I hit problems, I investigated the cause, found a solution and documented it.
Gameplay systems, Blueprints, UI widgets, lighting, physics, animation logic and level design.
Creating, editing and preparing 3D assets, and developing the asset pipeline / content workflow.
UI elements, signage, icons and texturing throughout the project.
Editing and cleaning audio files, volume levels, sound effects and voice-over prep.
Generated the Drill Sergeant voice-over that introduces players to the training facility.
Distributing the packaged build to external playtesters for feedback.
Organising playtesting sessions and collecting bug reports and gameplay feedback.
The complete write-up in original order: overview, objectives, timeline, every system breakdown, bug write-ups and evaluation. Click any slide to view it full-size.
ThirdPersonGRShooter.exe — Windows build, packaged via UE5.
Get Tactical TrialsExtract the ZIP, then run ThirdPersonGRShooter.exe. If Windows shows "protected your PC" → More info → Run anyway.
I'm actively looking for any entry-level role in the games industry — QA, environment art, level design or anything else.