Junkrat UE5
- Jun 15
- 1 min read
Technologies Used
C++, Unreal Engine 5
After going through the SimpleShooter project, it was time for me to make something of my own. Learning Unreal Engines quirks and workflows was so valuable, while also being able to use my existing programming experience to my advantage!
Implementing New Equipment Explanation
The Equipment Spawner - high cohesion, low coupling
This class holds inherited types. It handles the initial instantiation, as well as player communication to the equipment if needed (for example hiding the equipment during death). This means if we ever wanted to build a new weapon to give to Junkrat, it would be as easy as adding a new manager to the equipment spawner.
The Equipment Managers
Instead of my player controller having lots of extra functions and if/else logic for throwing C4 or using the RIPTire, each manager for each piece of equipment handles all logic, including button presses, UI, amount spawned, etc., while being decoupled from everything else.
The C4 and Steeltrap also inherit from the same manager, making throwable objects reusable, as well as having reusable UI. Whereas with our Frag Launcher, it doesn’t care about throwing an item or even having a similar UI. Maths Based Weapon Sway
Using Sine maths and interpolation, i create a breathing effect which is placed onto the weapon. This then checks whether the player is moving or not, if it is, we switch the profile settings to move faster, erratic and like they're moving, where standing still mimics closer to breathing. We then have weapon sway, when the mouse is moved, we interpolate the position of the weapon, and move it back to the centre position.



