PLAYER

*

PLAYER *

As part of my ongoing Unreal Engine project, Theseus, I developed a first-person character class in C++ and extended it with several core gameplay systems. These include a physical-material–based footstep system, an interaction line-trace system with visual feedback for environmental objects, and a character-aware door opening and locking system.

For THESEUS, I built a C++ first-person character framework using Unreal’s Enhanced Input system and a spring-arm–driven camera rig for smooth, responsive look control. The controller supports three posture states (standing, crouching, and prone), with capsule height, camera height, and movement speed interpolated smoothly per frame to avoid abrupt transitions. Posture changes are context-aware, using collision checks to prevent standing up into obstructed spaces.

I also implemented a camera-based interaction system that line-traces forward to detect interactable objects, triggering focus on/off events via an interface to enable clean visual feedback without hard-coupling the character to specific object types. Interaction is safely handled with validity checks to account for dynamic state changes, and core gameplay states such as inventory and dialogue temporarily disable movement, look, and interaction as needed.

This character framework is extended in Blueprint with a physical-material–driven footstep system. Each footstep detects the physical material of the surface being walked on and plays a corresponding sound cue, with each surface type shuffling through six unique footstep variations to avoid repetition. The full C++ character scripts are available for download below.

MOVEMENT & FOOTSTEP SYSTEM

DOOR SYSTEM

I implemented a reusable C++ door utility as a Blueprint Function Library to support character-aware, procedural door interactions throughout THESEUS. The function evaluates the player’s position relative to the door and determines the correct swing direction, ensuring doors always open away from the player rather than clipping through them. Based on this result, the Blueprint driving each door animates smoothly between closed and open target rotations.

The same system supports locked states, allowing doors to play alternate “locked” animations and trigger corresponding sound design feedback when interaction is attempted. By separating the directional logic into a stateless utility function and handling animation and audio at the Blueprint level, the system remains flexible, reusable, and easy to extend across different door types and environments.

UV Unwrapped Low Poly Door and Frame

Texture Detail

Door Open Animation Blueprint

Door Locked Animation Blueprint

Previous
Previous

HOUSE

Next
Next

MISC 3D