Skip to content
unreal · gameplay

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.
0.1.0 (beta)Version
UE 5.4+Engine
Win64 · Linux · MacPlatforms
KBVELicense

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-SourceKey gate (TryApplyEffect rejects 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/…) + KBVEMove helpers; 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, hits IKBVECombatDamageable, applies damage + knockback/launch impulse, fires OnMeleeHit; 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.