Basic Integration with your Project

Use this tutorial to integrate the system into your project. Note that each project may differ in scope, architecture, or design needs. The instructions provided here cover only the fundamental integration process, and you may need to adjust the implementation to suit your project’s unique requirements.

This tutorial only applies to the project version 2.0 and above.

1

Step 1 - Migrating to project folder

Migrate the RPGInventoryTemplate folder into your project’s Content directory. If your project was open during this process, restart the editor to ensure all assets load correctly.

2

Step 2 - Adding RPG Utility Menu Button

If using Unreal version 5.5 and below, make sure to add the following text inside the DefaultEditorPerProjectUserSettings.ini If you don't have that file:

  • Copy it from the RPG Inventory project /Config folder OR

  • Create new text document in your /Config folder with the same file name.

[/Script/Blutility.EditorUtilitySubsystem]
#Menu Toolbar Object
+StartupObjects=/Game/RPG_InventoryTemplate/DemoContent/EditorUtility/ToolMenu_RPGUtility.ToolMenu_RPGUtility

After saving the ini file and re-opening the project you should see the RPG Utility Tool Menu Button on your Toolbar:

3

Step 3 - Adding Gameplay Tags Data Tables

Go to Project Settings -> Gameplay Tags and add the following Gameplay Tag Table Lists:

4

Step 4 - Setup Gamemode Classes

In Project Settings → Maps & Modes, you may need to override several default classes depending on your project setup.

  • Default Pawn Class - set this to BP_RPGInventoryCharacter OR keep your existing pawn class and set BP_RPGInventoryCharacter as its parent.

  • HUD Class - set this to BP_RPGInventoryHUD OR keep your current HUD class and use BP_RPGInventoryHUD as its parent.

  • Player Controller Class - Set this to BP_RPGInventoryPlayerController, OR keep your current controller class and set BP_RPGInventoryPlayerController as its parent.

  • Game Instance Class - Set this to BP_RPGInventory_GameInstance, OR keep your existing Game Instance class and use BP_RPGInventory_GameInstance as its parent.

5

Step 5 - Adding Interactable Trace Channel

In Project Settings → Collision, add new Trace Channel:

Name: Interactable Default Response: Ignore

6

Step 6 - Enabling Custom Depth with Stencil

In Project Settings → Rendering → Postprocessing:

Set Custom Depth-Stencil Pass: Enabled with Stencil

This is required to make the Postprocess Outline Material working with Interactables.

7

Step 7 - Assigning Post Process Material

If your level already contains a Post Process Volume, select it. If not, add a new Post Process Volume to the level.

Find Post Process Materials under Rendering Features and add a new element to the array: M_ObjectOutline

Also make sure the Infinite Extent (Unbound) option is checked.

8

Step 8 - Adding Character Preview

Add BP_CharacterPreviewCapture to your level:

9

Step 9 - Re-parenting Player Character

1) Removing unnecessary nodes from RPG Character

If your Character already has Input Action Events for: Look, Move and Jump - delete them inside the RPG Character Event Graph.

Later you may need to add the CanJump? node to the Jump Input Event inside your Character - this prevents Jumping while using Gamepad and interaction is possible.

2) Copy-paste SaveGameCapture to your Character

Copy SaveGameCapture (SceneCaptureComponent) from RPG Character and Paste it in your Character attached to CameraBoom (or at the same location as Camera).

4) Set RPG Inventory Character as Parent Class of your Character

Go to your Character BP and set the Parent Class to BP_RPGInventoryCharacter.

5) Add CanJump? node to your Character Jump Input Event
6) Add Call to Parent Function inside your Character Graph

Make sure to add call to parent nodes inside your Character for these events:

  • Event Begin Play

  • Event Possessed

  • Event Unpossessed

10

Step 10 - Player Controller

Open your Player Controller BP and set BP_RPGInventoryPlayerController as Parent

11

Step 11 - Weapon Sockets

Choose one of the following depending on your project current configuration:

A) I don't have weapon sockets on my Character Skeleton

Open your Character Skeleton and copy-paste the following sockets from SK_Mannequin located in /RPG_InventoryTemplate/DemoContent/Characters/Mannequins/Meshes

B) I already have weapon sockets on my Character Skeleton

Open BP_BaseEquippable and update the Combat and Non-Combat socket names for both Main-Hand and Off-Hand weapons.

You will also need to update the socket names for shields - open each BP_EquippableShield01 & 02 blueprint and adjust the socket settings there as well.

12

Step 12 - Changing Character Preview Mesh

Open BP_CharacterPreviewCapture and change Skeletal Mesh and Anim Class to your Character.

Last updated