Devlog: Building an Unreal Engine 5 FPS in 5 Days (From Scratch!)
With absolutely zero prior knowledge of Unreal Engine 5, I managed to build this project in just 5 days. Time was incredibly tight and development was pretty chaotic, but it was an awesome challenge and totally doable.
- itch.io: https://devcol.itch.io/first-time-unreal-engine5-within-5day
- Github: https://github.com/devcol-main/FirstUE5FPS
- Video: https://youtu.be/LYvmCeML3t0?si=WBnsuxu7xxKYoiCS
What I Implemented
Animations & State Machine (via Blend Space)
- Core Locomotion: Set up Idle, Walk, Run, Jump, Fall, and Land states.
- Airborne States: Configured 'Fall' as a looping animation.
- State Optimization: Added a State Alias. Set up the transition for 'Fall & Land' to trigger automatically based on the Sequence Player in State rule.
- Player Input: Mapped
Shiftto sprint (reverts to walking when released) andSpaceto jump.
Environment & Lighting
- Atmosphere: Gave the entire map a dark, moody, and crimson aesthetic.
- Post-Processing: Added a Post-Process Volume to make specific emissive materials and glowing elements pop against the darkness.
Map Progression & UI Flow
- Designed a functional game loop: Loading Scene → Video Screen → Main Menu → Lab (Level 1) → Egypt (Level 2).
Enemy AI (The Ant)
- Visibility: Since the maps are quite dark, I attached a light source to the enemy mesh.
- Juicy Combat Effects: Used
Spawn Emitter at Location(Cascade particle system) to spawn blood splatters on hit. Combined this with spatial audio that plays at the impact location using randomized pitch variation. - Aggro Mechanics: The enemy speeds up significantly when it spots the player or takes damage.
- Explosion Knockback: When colliding with the player, the ant explodes and knocks the player back using the
Launch Characternode (with randomized knockback force). - Billboarded Health Bar: Created a World Space UI health bar that constantly tracks the player’s camera rotation so it always faces the player.
Interactive Items
- Enhanced pickups by adding Point Lights and Particle Effects to make them visible.
- Ammo Pickups: Used the
InterpToMovementcomponent to animate smooth up-and-down floating motion on the Z-axis. - Health Pickups: Added custom movement behaviors.
Player Mechanics & Audio Detail
- Flashlight: Implemented a toggleable spotlight bound to the
Fkey using aToggle Visibilitynode, complete with a clicking sound effect. - Dynamic Footsteps: Instead of just dropping audio into the animation loop (which causes glitches, like footstep sounds looping mid-air if you jump while running), I created custom Anim Notifies. I called these notifies inside the Animation Blueprint (ABP) and blended them with a Sound Modulator and random pitch nodes for natural audio variety.
- Gunplay Audio: Applied randomized pitch modulation via Sound Cues to the Rifle Fire, Dry Fire (Empty), and Background Music (BGM).
Features Put on Hold (The Backlog)
Because of the strict 5-day limit, I had to cut a few details that I will hopefully tackle next time:
- Advanced Animation Blending: Properly connecting mid-run jumps and landings into separate, fluid animations via Blend Spaces. (I skipped this for now since I already understand the core concept).
- Landing Audio: Adding distinct sound effects when hitting the ground.
- Explosive Barrels: Classic FPS destructible hazards.
- Physics Constraints: I really want to experiment with physics-based assets, like swaying suspension bridges and breakable physics objects.
Retrospective
I did not spend any time worrying about clean architecture, code structure, or optimization—I just focused on cramming in as many features as possible to see what worked. It was incredibly fun.
My only real regret is that I started quite late on Sunday night, so I ran out of time to implement a wider variety of item drops and enemy types. Also, note to self: OBS recorded the gameplay in pretty low quality, so I need to tweak my recording settings before making my next video devlog.
Thanks for checking out my first UE5 project.
