Here you will learn how to setup the plugin in your own project based on the Third Person Template!

This guide assumes that you have installed the plugin to your supported Engine version or in your project Plugins folder, and added the Third Person Template Feature to your project.

If the preview images are too small, you may right-click them and open them in a new tab where you'll see the full size.

Getting Started

Project Settings

Open the Project Settings and under Gameplay Tags, define DTGT_N00dHolster. These are the slots the system should know about and if you have any more or want your own, you should add them all to a data table based on GameplayTagTableRow

Creating Classes

Start by creating a new folder to store all our inherited classes within.

Create a child of BPC_N00dHolster and BP_N00dHolsterSlotActor

Name them BPC_Holster and BP_HolsterSlotActor respectively, and move them over to the folder we created

Project Setup

Character Skeleton

Open SK_Mannequin

Define the following sockets. These can be whatever you want but we will be keeping it to the slots we have already defined in the gameplay tag data table. Make sure to keep the table and the sockets in sync - if you add a socket here, you should also create a definition in the data table for it.

Place the sockets where you want them on the mesh. You may use Preview Meshes on these sockets to get a better idea for where they should be placed.

Character Blueprint

Open the Third Person Character BP

Add the new component we just created to the Third Person Character BP components window

With the component selected, fill out the defaults in the component Class Defaults.

Example Pickup Actor

This actor represents anything that you might want the system to holster. Typically its a world item such as this pickup but it can be anything so long as you consider the following data presented here in this example

Handle is for if you have data tables and want to holster or unholster by a data table row. We are doing it with interfaces for this example, defined in the HolsterData

Before we drag one of these into the world, we want to see how this is working. On overlap we make sure its a character and grab their holster component, then call holster on it with a reference to the actor that called it (Self)

In the parent pickup, we have a variable of type FN00dHolsterData and this is where we store all our definitions for each pickup. This is the data that the system uses to holster your pickup item (or whatever actor you are using).

In the Class Settings of this pickup actor we have also implemented BPI_N00dHolster

And have overridden the BPI_GetHolsterData node, pointing to our data type

Testing

Open the Third Person Map

Drag a few of the pickups into the world

Hit play and run around in the map picking up the pickups. They will all attach to your mesh.

If you press stop, close the game, and come back in again, they will reappear where they once were! 

If they don't line up exactly where you want them you can use the Offset definition in the pickup actor (or whatever actor you are using for holstering). 

Happy holstering!