GAS Companion
Only available for Unreal Engine: 5.0+
This integration guide will show you how to integrate GAS Companion with TwistedBytes Interaction System, so that you can use both in combination in your own projects.
Requirements
- Microsoft Visual Studio C/C++ IDE and Compiler (Free Community Edition 2019 is sufficient)
- Unreal project must be based on Unreal Engine 5 or higher
Adding Engine Plugins to a Project
To get started, go to your project's folder. Create a new folder called Plugins
in case it does not exist yet 1.
Copy both plugin folders GASCompanion
and TBInteractionSystem
from the Engine Plugin folder to your project's Plugins
folder.
note
The default location of the engine plugin folder for Unreal Engine 5.0 is:
C:\Program Files\Epic Games\UE_5.0\Engine\Plugins\Marketplace
In your project, navigate to Edit | Plugins
to open the Plugins tab.
Select Gameplay
as plugin category filter on the left side and make sure that both GAS Companion
2 and
TwistedBytes Interaction System
3 show up and are enabled.
Convert a Blueprint-only into a C++ Project
note
You can skip this step if your project is a C++ project already.
In case you started your work on a project with a Blueprints-only Project you need to first convert it to a C++ project before continuing with the next steps.
Navigate to Tools | New C++ Class...
1 in the Unreal Engine Editor.
In the Add C++ Class
dialog, select None - An empty C++ class
2 and confirm by clicking on Create Class
3.
Wait for the Editor to create and compile all source files needed before proceeding.
info
The process described above is a quick way to create a new and valid C++ module that in fact turns any Blueprints-only Project into a C++ Project. The new C++ class we created is not actually needed and could now be deleted if you so wish.
Modifying TwistedBytes Interaction System
The next steps describe how to modify the interaction plugin, so that it knows about the GAS Companion plugin and its base classes to seamlessly integrate with each other.
In Windows Explorer, navigate to your project's root folder. You should see a new file with the file extension .sln
.
Double-click this Solution file 1 to open it in your favorite IDE (Microsoft Visual Studio or JetBrains Rider).
note
The initial startup will take some time. Might be a good time to grab a ☕ ...
Adding GASCompanion
to .uplugin
After your IDE has fully initialized, navigate to <Games>/<Project Name>/Plugins/TBInteractionSystem
and open
TwistedBytes_InteractionSystem.uplugin
1.
Add the following JSON object 2 to the Plugins
JSON array as shown in the image below.
{
"Name": "GASCompanion",
"Enabled": true,
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/d83c6f34c3fb4b7092dde195c37c7413"
}
caution
Be careful not to miss a separating comma (,
) between the existing JSON objects and the newly added one for GASCompanion
.
Modifying TBIA_AbilitySystemComponent
Next, navigate to <Games>/<Project Name>/Plugins/TBInteractionSystem/Source/TBIA_Runtime
and open the file
TBIA_Runtime.Build.cs
1.
Under PublicDependencyModuleNames 2 add GASCompanion
3.
Click on Build Solution 4 and wait for the project to finish building (it might take a couple of minutes).
In <Games>/<Project Name>/TBInteractionSystem/Source/TBIA_Runtime/Public/GAS/Component
,
open the file TBIA_AbilitySystemComponent.h
1.
At the top of the file, comment (or remove) the following line (see 2):
#include "AbilitySystemComponent.h"
Then, add a new line directly under the previous line (see 3):
#include "Abilities/GSCAbilitySystemComponent.h"
After this, scroll down to the Class Declaration of UTBIA_AbilitySystemComponent
and reparent it from
UAbilitySystemComponent
to UGSCAbilitySystemComponent
4 as shown in the image below.
Then build the solution again and wait till it finishes building.
Setting up the Player Character
Open your Player Character Blueprint (e.g. BP_PlayerCharacter
) that you are using. As you can see here in our
example, we are using GSCModular Character
1 as the parent class.
Go to the Components tab and select Ability System Component
2. In the Details panel, click on
Component Class 3 and select TBIA_AbilitySystemComponent
4.
Finally, compile and save the Blueprint.
Now, to add the interaction functionality to the Player Character, click on Add 1 in the
Components tab and select the TBIA_Interaction
component 2.
Switch to the Class Settings
and scroll down to the Interfaces category. Click on Add 3 and
select the TBIA_Interactable
interface. It should now look like it is shown in 4.
Finally, compile and save the Blueprint.