07. BP Modding - NellsRelo/OMD3-uSDK GitHub Wiki

BP Modding

If you’re familiar with UE4 modding, you may have heard of BP Modding. These types of mods are effectively entirely new Unreal assets being loaded into the game, meaning you’re not limited by what already exists, you can start making entirely new content, complete with actual code behind it. You'll need this UnrealModLoader for this. The profile for OMD3 is included in the Github repository for UnrealModLoader. You’ll also need Unreal Engine 4.26. The following guide is paraphrased from this video by RusselJ. This will simply create a text overlay on the screen, however more elaborate attempts could create new UI elements, or add entirely new features to the game.

  1. Open the uSDK in Unreal Editor
  2. Create a subfolder for your mod in the content browser
  3. Create an Actor BP and name it ModActor
  4. Create a Widget and double click it
  5. Add a text box to the widget
  6. Open your Actor BP and go to its event graph
  7. Create two functions under EventGraph: PreBeginPlay and PostBeginPlay
  8. Right click the EventGraph, uncheck Context Sensitive, and add a Create Widget
  9. In your Create Widget object on the graph, select the Widget class you created in step 5
  10. Connect the left node to the node on PostBeginPlay
  11. Right click the event graph and add a Add to Viewport
  12. Connect the right node and the Return Value of your Create Widget to the Add to Viewport left node and target node respectively
  13. Compile and save your objects
  14. Save and cook it
  15. Move the .pak folder into a mod folder in your modding directory, following the same general file structure (ModdingDirectory\Mods\ModName\Content\Mods\Modname\)
  16. Use UnrealPak to package your \ModdingDirectory\Mods\ModName folder (the one BEFORE ..\Content\)

Next, for actually getting it ingame, you will need to add a LogicMods\ folder to your Paks\ folder(the Mod Loader reads from this), and place your .pak folder inside. The mod will only load if the user has the Mod Loader active.