top of page

Unreal FPS MADE WITH BLUEPRINT THEN C++

  • Project Origin: This project originated as a series of assignments completed across two separate courses during Terms 4 and 5 of my Video Game Design and Development diploma program. The work was designed to progressively develop foundational and intermediate skills in Unreal Engine development, with a focus on both visual scripting and C++ integration.

  • Purpose: While both assignments shared the goal of expanding Unreal Engine knowledge, each term focused on different areas of technical growth. The objective of the Term 4 assignment was to familiarize students with the Unreal Editor, Blueprint visual scripting, and core gameplay system development. The Term 5 assignment expanded on these foundations by introducing Unreal Engine C++ development. This included configuring a development environment with Visual Studio, compiling Unreal Engine projects, and gaining a stronger understanding of how C++ systems integrate with Blueprint workflows.

  • Key Learning Outcomes:

    • Built gameplay systems using Blueprint visual scripting in Unreal Engine.

    • Developed an understanding of Unreal Engine workflows, editor tools, and gameplay architecture.

    • Configured and integrated Visual Studio for Unreal Engine C++ development.

    • Gained experience compiling, debugging, and troubleshooting Unreal Engine projects.

    • Learned how C++ and Blueprints interact to create scalable gameplay systems.

    • Strengthened technical problem-solving through iterative development and debugging.

    • Improved understanding of gameplay programming and system design principles.

  • Technology Used

    • Unreal Engine 5.7​

    • Blueprints

    • Visual Studio

    • C++

    • GitHub (Version Control)

NOTICE

Both projects are currently in active development and remain works in progress. While the content shown represents an unfinished state, each project is being continuously revised and refined toward a polished, completed experience. These projects are not abandoned but are part of an ongoing iterative development process.

FPS IN UNREAL USING BLUEPRINTS

Image by Brecht Corbeel

FPS Gameplay Systems & Shooting Range Implementation

This prototype showcases a first-person shooter range experience developed in Unreal Engine, with a primary focus on gameplay systems, player interaction, and FPS mechanics. The project was designed to simulate a tactical training course in which players select a weapon and progress through an environment, eliminating targets while being evaluated on speed and performance. The gameplay experience incorporates various linked systems, including first-person player movement, weapon interaction, shooting mechanics, target detection, scoring systems, and timed gameplay objectives. Players are able to engage with in-world weapon stations before making their way through the course and eliminating targets throughout the environment. A timer system and score tracking interface were implemented to reinforce the competitive, challenge-driven nature of the experience. From a technical perspective, the project supplied valuable experience in developing FPS gameplay architecture, including weapon firing logic, hit detection, UI integration, game state management, and player response systems. The implementation of menus, scoring logic, and end-state functionality additionally deepened understanding of player progression flow and gameplay loop design. This prototype served as an opportunity to strengthen my knowledge of gameplay programming, technical system integration, and iterative FPS development workflows, while laying the groundwork for future refinement into a noticeably more polished and complete experience.

FPS IN UNREAL USING C++

Image by Brecht Corbeel

This project showcases the development of a first-person shooter prototype in Unreal Engine using C++, with a focus on gameplay programming, combat systems, and technical implementation. Players engage enemy targets within a timed combat scenario while interacting with systems such as weapon firing, hit detection, scoring, health tracking, UI feedback, timer management, and game state progression, culminating in a win/game-over state upon successful completion. Unlike the Blueprint-focused FPS prototype, this project stresses transitioning to Unreal Engine C++ development, reinforcing essential programming concepts such as gameplay architecture, system communication, debugging, and integrating code-driven functionality into Unreal Engine workflows.

Techincal Reflection

Developing both a Blueprint-driven first-person shooter (FPS) prototype and a C++ gameplay framework in Unreal Engine gave valuable insight into the way different implementation approaches influence factors such as scalability (the ability to support increased complexity or size), workflow (development process), debugging (identifying and fixing code errors), and system architecture (structure and organization of code and game systems). The Blueprint FPS project enabled rapid prototyping of gameplay systems, including weapon interactions, target scoring, UI, timed gameplay, and first-person combat flow. Visual scripting deepened my understanding of event-driven workflows, quick iteration, and Unreal’s gameplay structure while providing hands-on visual debugging experience. In C++, the emphasis shifted to modular architecture, maintainability, performance, and system design. Core elements—player controllers, projectile combat, AI patrols, scoring logic, HUD communication, health, and state management—were rebuilt with reusable code, reinforcing object-oriented programming, class separation, gameplay messaging, timer handling, AI, and scalable design. Blueprint vs C++: Key Differences Blueprint Advantages * Rapid gameplay prototyping and iteration. * Faster implementation for testing mechanics. * Visual debugging and easier gameplay flow tracking. * Strong designer-friendly workflow. Blueprint Limitations * Blueprint projects can become visually complex, often called “Blueprint spaghetti,” as systems grow or interact, making the node-based graphs tangled and difficult to follow. * Harder to maintain larger gameplay architectures. * Increased difficulty debugging deeply interconnected systems. * Less reusable for larger modular frameworks. C++ Advantages * Cleaner separation of gameplay responsibilities. * Greater modularity and maintainability. * Stronger scalability towards larger gameplay systems. * More direct control over gameplay architecture and optimization. C++ Challenges * Longer implementation and debugging time. * Increased upfront complexity. * Requires a greater understanding of Unreal’s gameplay framework and memory management. Key Takeaway Working through both implementations clarified when to use Blueprints for rapid iteration and designer accessibility, and when C++ is necessary for scalability and maintainability. Choosing the right approach depends on project scope, technical needs, and long-term goals.

bottom of page