C++ Interaction System
Solo-developed first-person UE5 prototype with interaction/item mechanics (pickup, drop, place, throw) and C++/Blueprint data persistence.
I initially conceived a first-person hotdog shop simulator game demo for this university project where players would prepare and sell hotdogs to customers.
Due to time constraints however, I focused on implementing core systems including a robust interaction system (pick up, drop, place, throw), a C++ player data subsystem and save subsystem, and an inheritance-based modal UI system for save/load related and other interactions.
This demo features a series of systems:
- Modal UI system using UMG and inheritance for easy creation of new modal windows.
- C++ player data subsystem and save subsystem with Blueprint exposure for easy access to player data and saving/loading functionality.
- Robust C++ interaction system with support for general item interaction, outlines, picking up items (which attach to a spring arm on the player, allowing for throwing, dropping, and placing), with interaction prompts updated via delegates and
BlueprintImplementableEvent featuring full controller scheme support.
- A project-wide focus on C++ decoupling and modularity, making extensive use of interfaces, actor components, delegates, and
BlueprintImplementableEvent for easy extension and customization in Blueprints.
Check out the gallery to see some screenshots with explanations of the various systems implemented in the demo.