Blueprint Utilities

Marketplace

Support (discord)

Documentation

The plugin

       Blueprint Utilities is a plugin designed to enhance the speed of game prototyping with the Unreal Engine. Its primary goal is to add, modify, or replace native engine systems to make them easier to handle or implement. Whenever the plugin introduces a new feature, its primary purpose is to provide quality-of-life improvements for developers who use it. Blueprint Utilities does not improve games themselves or interfere with gameplay in any way.

My Approach

       Initially, knowing that I wanted to implement complex logic in Blueprints, I trained myself on creating nodes in C++ using Kismet (UK2Node). With this knowledge, I was able to create nodes that adopt special behaviors based on the user and the environment where they are placed (e.g., changing the node title based on a parameter, dynamically adding/removing pins). Once I became proficient with Kismet, I leveraged my experience with Unreal Engine to identify processes that could be simplified.

       As I implemented new features, I consistently focused on the goal of designing with ease of use and accessibility in mind. To achieve this, I decided to focus on two new areas: creating a clear and illustrated online documentation site, and learning how to create editor interfaces in Unreal Engine. This allowed me to design custom elements that enhance the plugin’s usability (e.g., custom pins for complex types, project and engine options to adapt the plugin’s behavior).

       Lastly, I learned to understand how code elements are structured (projects, plugins, modules, APIs, etc.) to better organize my work and improve performance for users. For example, if certain code is only useful in the editor, it would be inefficient to compile it with the game.

Modules and Features

« GetAs » Module

       The first system implemented was the GetAsSystem, which allows manipulation of the output classes of all native engine accessors. This eliminates the need to perform “Casts” on the output of these nodes. This feature, while very simple, is highly practical as it saves time and improves the readability of Blueprint code.

Context menu of the getters node
Getter context menu
Custom getter node (3 forms)
Log Module
log node
Log node
Log node avec différent profil
Project Settings
Math Module

       The math module adds several nodes to simplify advanced calculations in Blueprints. To make the nodes more versatile and user-friendly, they were created using “wildcards,” allowing the nodes to support multiple native types (int, bool, float, double, etc.). Additionally, a context menu enables users to manually change the type.

Maths nodes
Wildcard context menu
This project makes me particularly proud because I applied all the discipline and knowledge I accumulated during my video game studies. I also had to teach myself the deeper mechanics of Unreal Engine by studying its source code, as no documentation existed on how the editor itself worked.Finally, it was the first time I decided to monetize my work to see if developers were willing to pay for it. I am thrilled to have had this experience and to be able to continue maintaining and improving the plugin!
C'est ma petite tête sur cette photo
- Lucas
Plugin (v2.0) presentation video

Leave a Reply

Your email address will not be published. Required fields are marked *

 Blueprint Utilities

Marketplace

Support (discord)

Documentation

The plugin

       Blueprint Utilities is a plugin designed to enhance the speed of game prototyping with the Unreal Engine. Its primary goal is to add, modify, or replace native engine systems to make them easier to handle or implement. Whenever the plugin introduces a new feature, its primary purpose is to provide quality-of-life improvements for developers who use it. Blueprint Utilities does not improve games themselves or interfere with gameplay in any way.

My Approach

       Initially, knowing that I wanted to implement complex logic in Blueprints, I trained myself on creating nodes in C++ using Kismet (UK2Node). With this knowledge, I was able to create nodes that adopt special behaviors based on the user and the environment where they are placed (e.g., changing the node title based on a parameter, dynamically adding/removing pins). Once I became proficient with Kismet, I leveraged my experience with Unreal Engine to identify processes that could be simplified.

       As I implemented new features, I consistently focused on the goal of designing with ease of use and accessibility in mind. To achieve this, I decided to focus on two new areas: creating a clear and illustrated online documentation site, and learning how to create editor interfaces in Unreal Engine. This allowed me to design custom elements that enhance the plugin’s usability (e.g., custom pins for complex types, project and engine options to adapt the plugin’s behavior).

       Lastly, I learned to understand how code elements are structured (projects, plugins, modules, APIs, etc.) to better organize my work and improve performance for users. For example, if certain code is only useful in the editor, it would be inefficient to compile it with the game.

Modules and Features

« GetAs » Module

       The first system implemented was the GetAsSystem, which allows manipulation of the output classes of all native engine accessors. This eliminates the need to perform “Casts” on the output of these nodes. This feature, while very simple, is highly practical as it saves time and improves the readability of Blueprint code.

Context menu of the getters node
Getter context menu
Custom getter node (3 forms)
Log Module
log node
Log node
Log node avec différent profil
Project Settings
Math Module

       The math module adds several nodes to simplify advanced calculations in Blueprints. To make the nodes more versatile and user-friendly, they were created using “wildcards,” allowing the nodes to support multiple native types (int, bool, float, double, etc.). Additionally, a context menu enables users to manually change the type.

Maths nodes
Wildcard context menu
This project makes me particularly proud because I applied all the discipline and knowledge I accumulated during my video game studies. I also had to teach myself the deeper mechanics of Unreal Engine by studying its source code, as no documentation existed on how the editor itself worked.Finally, it was the first time I decided to monetize my work to see if developers were willing to pay for it. I am thrilled to have had this experience and to be able to continue maintaining and improving the plugin!
C'est ma petite tête sur cette photo
- Lucas
Plugin (v2.0) presentation video

Leave a Reply

Your email address will not be published. Required fields are marked *