Consumable & effect frameworkKBVEGameplay
A game-agnostic consumable + effect framework. A game implements IKBVEStatTarget (mapping its stats to FName ids) and attaches UKBVEEffectComponent; the plugin owns the effect lifecycle from a data-driven FKBVEEffectSpec — restores, over-time regen/DoT, buffs, statuses, cooldowns — plus an agnostic stat layer and melee combat.
Data-driven effects
The game builds an FKBVEEffectSpec from its item definition; effect data lives in the shared itemdb. Tick auto-disables when no effects or cooldowns are active.
- Applied through — IKBVEStatTarget maps stats to FName ids.
- Also ships — a Mass parallel regen processor + a melee sweep component.
What it gives you
Features
Data-driven effects
Restores, regens/DoT, buffs, and statuses from FKBVEEffectSpec.
Cooldown gating
Per-SourceKey gate rejects re-application while hot.
Auto-disabling tick
The component stops ticking when no effects or cooldowns are live.
Effect lifecycle
Overview
A game implements IKBVEStatTarget (map its stats to FName ids) and attaches UKBVEEffectComponent; the plugin owns the effect lifecycle from a data-driven FKBVEEffectSpec:
- Restores — instant stat deltas (heal HP, restore mana/energy).
- Regens — over-time HoT / DoT (
RatePerSecond×Duration). - Buffs — temporary additive / multiplicative stat modifiers (auto-removed on expiry).
- Statuses — named condition tags (poison / regen / blessed) with stacks + duration.
- Cooldown — per-
SourceKeygate (TryApplyEffectrejects while hot). - AnimationRef — carried on the spec for the game to drive a montage.
Tick auto-disables when no effects or cooldowns are active. Effect DATA lives in
the shared itemdb; the game builds an FKBVEEffectSpec from its item definition.
Stat layer
Stats + combat
Also holds the agnostic gameplay-stat layer (the effect target it feeds):
FKBVEStatBlock— health / mana / stamina with regen rates + stamina thresholds;HealthFraction/ManaFraction/StaminaFraction.EKBVEMovementState— movement flag set (OnGround/Moving/Sprinting/…) +KBVEMovehelpers; gates stamina drain/regen.FKBVEStatFragment+UKBVEStatRegenProcessor— Mass fragment + parallel regen processor (health/mana regen, stamina drain on sprint, low-stamina + empty penalty). Worker-thread, cache-coherent.IKBVECombatDamageable/IKBVECombatAttacker— combat interfaces (apply damage/heal/death/danger; attack-trace / combo / charged hooks).UKBVEMeleeComponent— generic melee sweep: forward sphere trace from a mesh socket, hitsIKBVECombatDamageable, applies damage + knockback/launch impulse, firesOnMeleeHit; per-swing dedupe (BeginSwing/EndSwing).
UKBVEEffectComponent applies effects through IKBVEStatTarget; a game’s stat
owner maps those onto its FKBVEStatBlock / FKBVEStatFragment.
Event vocabulary
Event payloads (KBVEGameplayEvents.h)
Shared cross-game vocabulary for stat/combat signals — plain POD structs a game
and reusable UI agree on: FKBVEHealthChangedPayload / FKBVEManaChangedPayload
/ FKBVEStaminaChangedPayload (current/max + stamina regen delay),
FKBVEDamageReceivedPayload (amount + damage-bit), and the Mass-sim
FKBVECombatHitPayload / FKBVEEntityKilledPayload (entity handles). Transport
stays the game’s — these are only the contract; chuck pipes them through its own
TKBVEChannel hubs. Game-specific payloads (inventory-dirty, tooltip,
item-consumed, pickup, auth, chat, ui-flags) stay in the game.
Questions
Frequently asked
What does KBVEGameplay provide?
A game-agnostic consumable and effect framework for Unreal — data-driven restores, over-time regen/DoT, stat buffs, status conditions, and cooldowns applied through the IKBVEStatTarget interface.
How does a game integrate KBVEGameplay?
A game implements IKBVEStatTarget to map its stats to FName ids and attaches UKBVEEffectComponent; the plugin then owns the effect lifecycle from a data-driven FKBVEEffectSpec.
Does KBVEGameplay include combat?
Yes. It ships an agnostic stat block, a Mass parallel regen processor, combat damageable/attacker interfaces, and a generic UKBVEMeleeComponent sweep with knockback and per-swing dedupe.
