You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A blueprint soulslike melee combat system on unreal.
engine version: 5.1.0
Interfaces
AnimInstance_BPI
Implemented in the animation blueprint, used to update animation state machine.
Functions
Description
Update Combat Type
Change character locomotion animations by different weapon type (eg: No Weapon, Light Sword, Shield, Twin Sword, Great Sword...)
Update Combat Enable
Change character Common / Battle locomotion animations.
Update Blocking State
Change character Defensive / Offensive posture locomotion animations.
Combat_BPI
Implemented in the combat character actor blueprint.
Functions
Description
Perform Attack
Play the attack montage (Light Attack, Heavy Attack, Charged Attack, Falling Attack, Sprinting Attack, Special Attack...) depend on current equipped weapon, and change character state to Attack.
Perform Action
Play the action montage (Enter Combat, Exit Combat, Dodge, Block, Slide, Die...), and change character state.
Perform Use Item
Play the item usage montage, depend on current equipped item.
Perform Hit Reaction
Play the hit reaction montage, depend on damage direction (Front, Back, Left, Right), damage type (Melee, Knockdown, Dot...) and character blocking state.
Perform Death
Play death montage and change character state to Death.
Get Speed Mode
Get character speed mode (Walking, Jogging, Sprinting).
Get Desire Rotation
Get character desire rotation (forward or current input direction).
Set Moveable
Set character moveable.
Can Recieve Damage?
Character can receive damage or not.
Reset Combat
Reset character attack count and attack state.
Continue Attack
Continue play combo attack montage.
Consume Item
Consume Item.
Set Invincibility
Set character invincibility or not.
Move To
Let character move to specify location in the input time.
Jump To
Let character jump to specify location in the input time.
GameplayTag_BPI
Gameplay tag stuff.
Functions
Description
Get Owned Gameplay Tags
Get asset's gameplay tag.
Has Matching Gameplay Tags
Check if the asset has gameplay tags that matches against any of the specified tags.
Interactable_BPI
Functions
Description
Interact
Interact with interactive objects by caller.
Targeting_BPI
Functions
Description
Can Be Targeted?
Check character can be targeted or not.
Enable Lock On
Enable / Disable lock on perform.
On Targeted
Character on Targeted / Untargeted event.
Weapon_BPI
Functions
Description
On Owner Landed
Weapon owner on landed event.
Actor Components
BP_CollisionComponent
Collision Component provides attack collision detection capacity for weapon actor or character.
Event
Event
Description
Set Collision Mesh Component
Set static mesh or skeleton mesh as collision socket source.
Activate Collision
Clear already hit actors, and enable multi sphere trace.
Deactivate Coliision
Disable multi sphere trace.
Collision Trace
Start multi sphere trace, call On Hit delegate for qualified actors.
Dispatchers
Dispatchers
Input
On Hit
Hit Result
Public Variables
Variables
Type
Description
Start Socket Name
Name
Multi sphere trace Start location.
End Socket Name
Name
Multi sphere trace End location.
Trace Radius
Float
Multi sphere trace Radius.
Collision Object Type
EObject Type (array)
Multi sphere trace Object Type.
Actors to Ignore
Actor (array)
Multi sphere trace Actors to Ignore.
Draw Debug Type
Draw Debug Type
Multi sphere trace Draw Debug Type.
Ignore Gameplay Tags
Gameplay Tag Container
Multi sphere trace ignore gameplay tags.
Functions
Functions
Description
Is Collision Enabled?
Check collision is enabled or not.
Get Already Hit Actors
Get multi sphere trace hit actors in collision.
Get Last Hit Result
Get last multi sphere trace hit result.
Get Ignore Actors
Get ignore actors list.
Add Ignore Actors
Add actors to collision ignore list.
Remove Ignore Actors
Remove actors form ignore list.
BP_CombatComponent
Combat Component is used to manage the character current main weapon, shield weapons and props.
Public Variables
Variables
Type
Description
Attack Count
Integer
Continuous attack counter, as combo montage array index.
Functions
Functions
Description
Set Main Weapon
Set weapon as character current equipped main weapon.
Get Main Weapon
Get character current equipped main weapon.
Set Shield Weapon
Set shield weapon character current equipped shield weapon.
Get Shield Weapon
Get character current equipped shield weapon.
Set Item
Set character current equipped item.
Get Item
Get character current equipped item.
Consume Item
Consume character current equipped item.
Set Combat Enable
Toggle character Common / Battle state.
Is Combat Enabled?
Check character is in battle or not.
Reset Attack
Reset Attack Count to 0, reset Attack Saved and Wait for Attack to false.
Set Blocking Enable
Toggle character Defensive / Offensive state.
Is Blocking Enabled?
Check character is blocking or not.
Dispatchers
Dispatchers
Input
On Toggle Combat
Boolean
On Toggle Blocking
Boolean
On Item Changed
BP_ConsumableItem
BP_EquipmentComponent
Equipment Component is character's equipment manager.
Public Variables
Variables
Type
Description
Starting Equipments
BP_BaseEquipment (array)
Initial equipments configuration of the character.
Functions
Functions
Description
Initialize Equipment
Initialize starting equipments for character.
Get Current Equipments
Get character current equipment list.
BP_StateManagerComponent
State Manager Component is used to manage the owner's states and action.
Functions
Functions
Description
Set Current State
Set owner current state gameplay tag.
Get Current State
Get owner current state gameplay tag.
Reset State
Reset owner current state gameplay tag.
Is Current State Equal To Any?
Check owner current state is equal to any specific gameplay tag or not.
Set Current Action
Set owner current action gameplay tag.
Get Current Action
Get owner current action gameplay tag.
Is Current Action Equal To Any?
Check owner current action is equal to any specific gameplay tag or not.
Dispatchers
Dispatchers
Input
On Character State Begin
Gameplay Tag
On Character State End
Gameplay Tag
On Character Action Begin
Gameplay Tag
On Character Action End
Gameplay Tag
BP_StatsComponent
Stats Component is used to manage owner's stats value.
Event
Event
Description
Start Regen
Start regen specific stat value.
Stop Regen
Stop regen specific stat value.
Public Variables
Variables
Type
Description
Base Stats
E_StatsType -> F_BaseStat (mapping)
Owner base stats and value configuration.
Stamina Regen Rate
Float
Stamina regen rate, per 0.1 second.
Regen Delay
Float
Stamina regen delay time, second.
Functions
Functions
Description
Initialize Stats
Initialize owner stats by Base Stats.
Set Base Stat Value
Set specific stat base value.
Get Base Stat Value
Get specific stat base value.
Set Max Stat Value
Set specific stat max value.
Get Max Stat Value
Get specific stat max value.
Set Current Stat Value
Set specific stat current value.
Get Current Stat Value
Get specific stat current value.
Modify Current Stat Value
Modify specific stat current value by delta value.
The character movement Max Walking Speed in walking state.
Max Jogging Speed
Float
The character movement Max Walking Speed in jogging state.
Max Sprinting Speed
Float
The character movement Max Walking Speed in sprinting state.
Unarm Hit Montage_F
Anim Montage
Hit from front montage on unarm state.
Unarm Hit Montage_B
Anim Montage
Hit from back montage on unarm state.
Unarm Hit Montage_L
Anim Montage
Hit from left montage on unarm state.
Unarm Hit Montage_R
Anim Montage
Hit from right montage on unarm state.
Knockdown Montage_F
Anim Montage
Knockdown from front montage on unarm state.
Knockdown Montage_B
Anim Montage
Knockdown from back montage on unarm state.
Owned Gameplay Tags
Gameplay Tag Container
Character identify gameplay tags.
Ignore Gameplay Tags
Gameplay Tag Container
Character attack ignore gameplay tags which other actors owned.
Pelvis Bone Name
Name
Ragdoll root bone.
Event
Event
Description
Event BeginPlay
Initialize character stats and equipments.
Event Tick
Get delta seconds.
Event PointDamage
Point damage handler.
Event On Landed
Character on landed event.
Event Begin Rotate To Target
Start the timeline, character begin rotate to the target.
Event Stop Rotate To Target
Stop the timeline.
Input Action
The following input actions are mapped only in BP_CombatCharacter_Player.
Event
Description
EnhancedInputAction IA_Look
Modify controller Yaw and Pitch.
EnhancedInputAction IA_Move
Move the pawn.
EnhancedInputAction IA_Jump
Jump.
EnhancedInputAction IA_Interact
Interact with near actor.
EnhancedInputAction IA_ToggleCombat
Toggle character Common / Battle state.
EnhancedInputAction IA_ToggleWalk
Toggle character Walk / Jogging state.
EnhancedInputAction IA_ToggleLock
Toggle character targeting state.
EnhancedInputAction IA_LightAttack
Light attack input.
EnhancedInputAction IA_HeavyAttack
Heavy attack input.
EnhancedInputAction IA_Dodge
Dodge input.
EnhancedInputAction IA_Sprint
Sprint input.
EnhancedInputAction IA_Block
Block input.
EnhancedInputAction IA_UseItem
Use current equipment item input.
FSM
Event
Description
On Character State Begin
Called on character enter any state.
On Character State End
Called on character exit any state.
On Character Action Begin
Called on character start any action.
On Character Action End
Called on character exit any action.
On Current Stat Value Updated
Called on character any stats value been modified.
Functions
Functions
Description
Can Perform Toggle Combat?
Check character can toggle combat or not.
Can Perform Attack?
Check character can perform attack or not.
Can Perform Dodge?
Check character can perform dodge or not.
Can Perform Sprinting?
Check character can perform sprinting or not.
Can Perform Block?
Check character can perform block or not.
Can Jump?
Check character can jump or not.
Can Block Attack?
Check character can block attack or not.
Set Movement Speed Mode
Set character current move speed.
Get Movement Speed Mode
Get character current move speed.
Get Desired Attack Type
Get desired attack type by character current state.
Attack
Try to start attack by desired attack type (Light Attack, Heavy Attack, Falling Attack, Sprinting Attack).
Charge Attack
Try to start charge attack.
Charge Attack Timer
Accumulated charging time.
Reset Charge Attack
Reset charging time and relevant flags.
Sprinting Timer
Accumulated sprinting time.
Sprinting Stamina Cost
Modify sprinting stamina stat value.
Disable Sprinting
Disable sprinting.
Enable Ragdoll
Set ragdoll collision and all bodies below simulate physics.
Get Hit Direction
Get hit direction when received damage.
Apply Hit Reacion Physics Velocity
Apply ragdoll physics linear velocity.
BP_CombatCharacter_Player
CombatCharacter_Player is child blueprint class of BP_CombatCharacter_Base, it add mapping enhanced input local player subsystem on Begin Play.
BP_MasterAI
MasterAI is also child blueprint class of BP_CombatCharacter_Base, it create the health bar widget on Begin Play.
The head health bar when this actor on targeted by player.
Equippable Actor
BP_BaseEquippable
Base Equippable is euippable actor base blueprint class, it has Skeletal Mesh Component and Static Mesh Component.
Public Variables
Variables
Type
Description
Attach Socket Name
Name
Socket name that attach to character mesh component.
Owned Gameplay Tags
Gameplay Tag Container
Identify gameplay tags.
Functions
Functions
Description
Attach Actor
Attach actor to character mesh component.
Get Item Mesh
Get actor Skeletal Mesh Component or Static Mesh Component.
On Equipped
On actor equipped.
On Unequipped
On actor unequipped.
Set Is Equipped
Set equipped flag.
Is Equipped?
Check actor is equipped on character or not.
BP_BaseWeapon
Base Weapon is one of BP_BaseEquippable child blueprint class, all weapons are created by this or inherited from this class.
It has BP_CollisionComponent and handle the On Hit event.
Public Variables
Variables
Type
Description
Combat Type
E_CombatType
Weapon combat type (Light Sword, Great Sword, Twin Sword...)
Damage Type Class
Damage Type (Class Ref)
Weapon current damage type.
Enter Combat
Anim Montage
Arm weapon animation montage.
Exit Combat
Anim Montage
Unarm weapon animation montage.
Hit Montage_F
Anim Montage
Undefense hit from front animation montage.
Hit Montage_B
Anim Montage
Undefense hit from back animation montage.
Hit Montage_L
Anim Montage
Undefense hit from left animation montage.
Hit Montage_R
Anim Montage
Undefense hit from right animation montage.
Defense Hit Montage
Anim Montage
Defense hit animation montage.
Defense Hit Broken Montage
Anim Montage
Defense hit broken animation montage.
Knockdown Montage_F
Anim Montage
Knockdown from front animation montage.
Knockdown Montage_B
Anim Montage
Knockdown from back animation montage.
Light Attack Montages
Anim Montage (array)
Light attack animation montage array.
Heavy Attack Montages
Anim Montage (array)
Heavy attack animation montage array.
Charged Attack Montages
Anim Montage (array)
Charged attack animation montage array.
Falling Attack Montages
Anim Montage (array)
Falling attack animation montage array.
Sprinting Attack Montages
Anim Montage (array)
Sprinting attack animation montage array.
Dodge Montages
Anim Montage (array)
Dodge animation montage array.
Slide Montages
Anim Montage (array)
Slide animation montage array.
Die Montages
Anim Montage (array)
Die animation montage array.
Special Attack Montages
Anim Montage (array)
Special attack animation montage array.
Damage
Float
Weapon current damage.
Action Stat Cost
Gameplay Tag -> Float (Mapping)
Each action stat value cost.
Action Damage Multiplier
Gameplay Tag -> Float (Mapping)
Each attack action damage multiplier.
Block Physical Damage Reduction Rate
Float
Damage reducion rate when block physics damage succeed.
Block Magic Damage Reduction Rate
Float
Damage reducion rate when block magic damage succeed.
Enable Trail FX?
Boolean
Enable weapon attack Trail FX or not.
Trail FX
Particle System
Weapon attack Trail FX.
Enable Dust FX?
Boolean
Enable weapon attack Dust FX or not.
Dust FX
Particle System
Weapon attack Dust FX.
Event
Event
Description
On Hit
BP_CollisionComponent dispatcher event.
Functions
Functions
Description
Toggle Combat
Call owner combat component Set Combat Enable.
Simulate Weapon Physics
Let weapon start simulate physics.
Get Stat Cost For Action
Get specify action stat cost value.
Get Damage
Get weapon damage.
On Hit
Check hit actor can recieve damage or not, if true, apply the damage.
Get Action Montages
Get specify action montage array.
Activate Collision
Call BP_CollisionComponent function Activate Collision.
Deactivate Collision
Call BP_CollisionComponent function Deactivate Collision.
Activate Trail FX
Begin weapon particle system trail.
Deactivate Trail FX
End weapon particle system trail.
Activate Dust FX
Spawn weapon dust particle system emitter.
BP_MasterPose
Character protective gear base blueprint class, inherited from BP_BaseEquippable, using Leader Pose Component (which named Master Pose Component in UE4).
Public Variables
Variables
Type
Description
Base Armor
Float
The base armor value provided by this equipment.
Functions
Functions
Description
Attach Actor
Attach to character skeletal mesh component and set leader pose component.
On Equipped
Override parent function and modify owner current armor stat value.
On Unequipped
Override parent function and modify owner current armor stat value.
BP_ConsumableItem
Public Variables
Variables
Type
Description
Use Item Montages
Anim Montage (array)
Character use item animation montage array.
Number of Used
Integer
The number of each consumed.
Number in Bagpack
Integer
Initialize item number.
Functions
Functions
Description
On Equipped
Override parent function and call owner Combat ComponentSet Item.
On Unequipped
Override parent function and call owner Combat ComponentSet Item to null.
Get Use Item Montages
Return use item animation montage array.
Get Remaining Item Count
Retrurn remaining item number in bag pack and can consumed or not.
On Item Consumed
Consume item and update reamaining count.
Animation Notifies
Notify
Notify
Description
AttachWeaponActor_AN
If character action animation is without control bone like ik_hand_gun, use this notify to attach or cancel attach character skeletal.
ContinueAttack_AN
Send message Combat_BPI.ContinueAttack.
EnableLockOn_AN
Send message Targeting_BPI.EnableLockOn.
JumpToTarget_AN
Send message Combat_BPI.JumpTo.
ModifyStat_AN
Modify receiver stat value or consume item.
PlayCameraShake_AN
Call ClientStartCameraShake, shake player camera.
ResetCombat_AN
Send message Combat_BPI.ResetCombat.
ToggleCombat_AN
Toggle receiver combat state.
WeaponDust_AN
Activate receiver specify weapon Dust FX.
Notify State
Notify State
Description
CollisionTrace_ANS
Enable collision detection for weapons during the state.
DisableMovement_ANS
Send message Combat_BPI.SetMoveable, disable owner move during the state.
IFrame_ANS
Send message Combat_BPI.SetInvincibility, set owner be invincibility during the state.
RotateCharacter_ANS
Control receiver rotation by desire rotation during the state.
WeaponTrail_ANS
Activate receiver specify weapon Trail FX during the state.
Behavior Tree Nodes
BTService_UpdateBehavior
Public Variables
Variables
Type
Description
Target Key
Blackboard Key Selector
Storage AI current targeting actor.
Behavior Key
Blackboard Key Selector
Storage AI current behavior asE_AIBehavior.
Attacking Range Key
Blackboard Key Selector
Storage AI current attack range as E_AttackRange.
Attacking Range Close
Float
AI close attacking range value.
Attacking Range Medium
Float
AI medium attacking range value.
Attacking Range Max
Float
AI max attacking range value.
Functions
Functions
Description
Update Behavior
Update AI current behavior.
Set Behavior
Set blackboard BehaviorKey value.
Set Attacking Range
Set blackboard AttackingRangeKey value.
BTDecorator_ChanceCondition
Public Variables
Variables
Type
Description
Chance Percentage
Integer
Percentage value condition.
Functions
Functions
Description
Perform Condition Check AI
Check condition.
BTTask_FindNextPatrolPoint
Public Variables
Variables
Type
Description
Target Location
Blackboard Key Selector
Storage AI move target point location.
Patrol Index
Blackboard Key Selector
Storage AI current target point index.
Should Loop?
Boolean
Reverse patrol index or not.
Functions
Functions
Description
Set Path Location
Get patrol points by PatrolIndex, and set to blackboard value TargetLocation.
Increment Patrol Index
Increment patrol index, if ShouldLoop is true, reverse patrol index.
Decrement Patrol Index
Decrement patrol index, if ShouldLoop is true, reverse patrol index.
BTTask_TryGetRandomPatrolPoint
Public Variables
Variables
Type
Description
Radius
Float
Radius of the sphere centered on the current position of the actor.
Query Extent
Vector
Project point to navigation query extent.
Target Location
Blackboard Key Selector
Storage AI move target point location.
BTTask_SetMovementSpeed
Public Variables
Variables
Type
Description
Movement Speed
Float
movement speed value.
BTTask_PerformAttack
Public Variables
Variables
Type
Description
Attack Type
Gameplay Tag
Combat_BPI.PerformAttack param Attack Type.
Attack Index
Integer
Combat_BPI.PerformAttack param Attack Index.
Random Index?
Boolean
Combat_BPI.PerformAttack param Random Index.
Play Rate
Float
Combat_BPI.PerformAttack param Play Rate.
Continue Attack?
Boolean
Continue attack flag.
Continue Duration
Float
Delay finish time value when ContinueAttack is true.
Action Duration Modifer
Float
Delay finish time delta value when ContinueAttack is false.