Blueprint Template Library
Getting Started
Install the Blueprint Template Library and set up your first gameplay component.
Installation
- Download the plugin from your account dashboard.
- Extract the
BlueprintTemplateLibraryfolder into your project'sPlugins/directory:
YourProject/
Plugins/
BlueprintTemplateLibrary/
BlueprintTemplateLibrary.uplugin
Source/
BlueprintTemplateLibraryRuntime/
BlueprintTemplateLibraryEditor/
BlueprintTemplateLibraryAI/
BlueprintTemplateLibraryDebug/
- Open your project in Unreal Engine 5.7.
- The plugin should be detected automatically. If not, enable it in Edit > Plugins by searching for "Blueprint Template Library."
- Restart the editor when prompted.
Add the Module Dependency
In your game module's Build.cs file, add the runtime module as a dependency:
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"BlueprintTemplateLibraryRuntime"
});
If you need AI behavior tree nodes in your game module, also add:
PublicDependencyModuleNames.Add("BlueprintTemplateLibraryAI");
Quick Start: Health System
The fastest way to see the plugin in action is to add a Health Component to your character.
In Blueprints
- Open your character Blueprint.
- Click Add Component and search for HealthComponent.
- Select the new component and configure properties in the Details panel:
MaxHealth,MaxShield,Armor,RegenRate, etc. - Use the editor's quick-setup preset buttons (Tank, Assassin, Support, Healer) for common configurations.
- In the Event Graph, bind to events like OnHealthChanged, OnDeath, and OnDamageTaken to drive UI and gameplay logic.
In C++
// MyCharacter.h
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "HealthComponent.h"
#include "MyCharacter.generated.h"
UCLASS()
class AMyCharacter : public ACharacter
{
GENERATED_BODY()
public:
AMyCharacter();
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
UHealthComponent* HealthComp;
protected:
virtual void BeginPlay() override;
UFUNCTION()
void HandleHealthChanged(float OldHealth, float NewHealth, EHealthEventType EventType);
UFUNCTION()
void HandleDeath();
};
// MyCharacter.cpp
#include "MyCharacter.h"
#include "HealthSystemLibrary.h"
AMyCharacter::AMyCharacter()
{
HealthComp = CreateDefaultSubobject<UHealthComponent>(TEXT("HealthComp"));
}
void AMyCharacter::BeginPlay()
{
Super::BeginPlay();
// Configure health using the library function
UHealthSystemLibrary::InitHealth(HealthComp, 100.0f, 100.0f);
// Bind delegates
HealthComp->OnHealthChanged.AddDynamic(this, &AMyCharacter::HandleHealthChanged);
HealthComp->OnDeath.AddDynamic(this, &AMyCharacter::HandleDeath);
}
void AMyCharacter::HandleHealthChanged(float OldHealth, float NewHealth, EHealthEventType EventType)
{
float Percent = HealthComp->GetHealthPercent();
UE_LOG(LogTemp, Log, TEXT("Health: %.0f -> %.0f (%.0f%%)"), OldHealth, NewHealth, Percent * 100.0f);
}
void AMyCharacter::HandleDeath()
{
UE_LOG(LogTemp, Warning, TEXT("Character died!"));
// Play death animation, disable input, etc.
}
Adding More Systems
Each system is self-contained. You can add any combination of components to your actors:
Core Systems
| System | Component to Add | Guide |
|---|---|---|
| Health | UHealthComponent | Health System |
| Inventory | UInventoryComponent | Inventory System |
| Dialogue | Create UDialogueDataAsset in Content Browser | Dialogue System |
| Quest | UQuestComponent + create UQuestDataAsset | Quest System |
| Ability/Buff | UAbilityComponent | Ability System |
| Stat/Attribute | UStatComponent | Stat System |
| Interaction | UInteractableComponent (target) + UInteractionComponent (player) | Interaction System |
| Save/Load | Use USaveSystemLibrary static functions | Save System |
V2 Advanced Systems
| System | Component to Add | Guide |
|---|---|---|
| Progression | UProgressionComponent + create UProgressionDataAsset | Progression System |
| Faction/Reputation | UFactionComponent + create UFactionDataAsset | Faction System |
| Status Effects | UStatusEffectComponent + create UStatusEffectDataAsset | Status Effect System |
| Loot Tables | Create ULootTableDataAsset + use ULootTableLibrary | Loot Table System |
| Skill Trees | USkillTreeComponent + create USkillTreeDataAsset | Skill Tree System |
| Party/Team | UPartyComponent | Party System |
Infrastructure
| Feature | Usage | Guide |
|---|---|---|
| Event Bus | UGameplayEventSubsystem (auto-available as GameInstanceSubsystem) | Networking |
| AI Behaviors | Add BT nodes from the BlueprintTemplateLibraryAI module | AI Integration |
| Debug Tools | Console commands available automatically in non-shipping builds | Debug Tools |
For a complete RPG character using all systems together, see the Examples page.
Next Steps
- Browse individual system pages for detailed properties, functions, and delegates.
- See Networking for multiplayer replication details.
- See AI Integration for the 13 behavior tree nodes.
- See Examples for practical C++ recipes covering all 15 systems.
- Refer to the API Reference for the complete list of enums, structs, components, and function libraries.