Blueprint modding in Unreal Engine allows modders to create and customize game features through a visual scripting system, eliminating the need for traditional coding. This powerful tool enables the modification of gameplay mechanics, AI behaviors, and user interfaces, making it accessible for modders to enhance and personalize game experiences quickly and efficiently.
If you're part of a game's Discord, check if there's a modding scene for that game, and ensure there's an already existing BP modloader of some type.
This guide assumes you're using UE4SS, UML, or DML.
(if nothing sounds similar, you might need to research and ask around the modding scene of your game)
- Double-check the version of UE the game is using by right-clicking on the exe -> properties -> details tab.
- Download the correct UE version and create a new project.
For more details read the Creating a UE4/5 project guide.
- In the Content Browser, create a new folder called
Mods
- In the Mods folder, create another new folder and call it whatever you like, like
MyMod
Right-click and select the Blueprint Class.
Choose the Actor class.
Once the BP is created, rename it to ModActor
.
Double-click the BP and switch to the Event Graph tab, where you will be greeted with a few default nodes.
- EventBeginPlay: executes the code once when the BP is spawned/created.
- EventActorBeginPlay: we will skip this one.
- EventTick: executes the code every time the game is updated, every single frame, if not more..
We will come back to it, so close the window for now.
For this example, we will create a widget, a UI to display that the mod is loaded in-game.
- In the Content Browser, right-click->User Interface-> Widget Blueprint.
- Name it whatever you want, I named it
WBP_MyWidget
. - Open it.
Search for Canvas
in the Palette and drag it onto the root object of the widget.
Canvas allows us to place other objects wherever we want on the screen.
Seach for Text
and drag the Text object on the Canvas.
- Select the text.
- Set your text within the Text field, I set it to
Loaded!
as a test. - Save it, close.
- Open the BP we created earlier.
- Pull the EventBeginPlay pin and search for
Create Widget
, and click it.
A new node will be created and connected.
Click on the Class dropdown in the node and select your widget by name.
- Drag the Return Value pin from the widget creation node.
- Look for
Add to viewport
and click it.
You should have the same thing as in the image below.
The code basically means:
On begin, create the specified widget, and add it to the screen/viewport.
And the mod folder should look like this:
The packaging process will vary based on the UE version.
UE4 -> using UnrealPak.
UE5 -> chunk assigning (unless the game has no IOStore).
For more info, check Cooking with UE.
Depending on the modloader, the loading process may vary, so double-check with the used modloader instructions or with the modding community for the game you're modding.