#
Changelog
#
[1.0.0] — 2026-03-10
#
Initial Release
- Server-authoritative
UAP_StatusFXSuiteComponentwith full replication support. - FastArray delta serialization for bandwidth-efficient effect state replication.
- Late-join state reconstruction — clients joining mid-game receive correct effect state.
- TimerManager-based duration and tick engine — no Tick dependency.
UAP_StatusEffectDefinitiondata asset — designers create and configure effects in the Content Browser with zero code.- Three duration types:
Timed,Infinite,Instant. - Configurable tick intervals for periodic effects (DoTs, HoTs).
- Per-definition interaction rules:
RemovesEffectsWithTags,BlockedByEffectsWithTags. - Per-definition immunity grants on expiration.
- Icon property for UI integration.
- Editor validation warnings for invalid configurations.
- Five built-in stacking policies: None (Refresh), Stack Duration, Stack Intensity, Independent Instances, Custom Resolver.
- Per-definition
MaxStackscap. - Global
MaxIndependentStackssafety cap via Project Settings. UAP_StackingResolverabstract base class for Blueprint-extensible custom stacking logic.
- Six
BlueprintAssignabledelegates:OnEffectApplied,OnEffectRemoved,OnEffectRefreshed,OnEffectStackChanged,OnEffectTick,OnEffectExpired. - Delegates fire on both server and client where applicable.
- Snapshot data provided with Applied and Tick events for immediate UI consumption.
HasEffect,HasEffectMatchingQuery,IsImmuneToEffect.GetStackCount,GetActiveEffectCount,GetRemainingDuration,GetElapsedTime,GetRemainingRatio.GetEffectSnapshot,GetAllActiveEffectSnapshots,GetEffectSnapshotsByQuery,GetActiveEffectTags.- All queries work on both server and client via replicated state.
- Tag-based temporary immunity with configurable duration.
- Automatic immunity grants from interaction rules (DataTable).
- Automatic immunity grants on effect expiration (per-definition).
- Manual
GrantImmunity/RevokeImmunityAPI.
- Per-definition tag-based removal (
RemovesEffectsWithTags). - Per-definition tag-based blocking (
BlockedByEffectsWithTags). - DataTable-driven interaction rules with immunity grants via Project Settings.
- Supports mutual cancellation patterns (e.g., Frozen/Burning).
- 100% of functionality accessible via Blueprint nodes.
UAP_StatusFXBlueprintLibrarywith 5 static helper functions.IAP_StatusFXSuiteTargetinterface for standardized component lookup.UAP_StatusFXSettingsfor project-wide configuration via Project Settings.- Organized Blueprint categories under
AP > StatusFX.
- 31 effect definitions across Buff and Debuff categories.
- 6 core effects: Poison, Regeneration, SpeedBoost, Burning, Frozen, Shield.
- 25 extended effects: Bleed, Blind, Charm, Confusion, Curse, Disease, Fear, Petrify, Shock, ShieldBreak, Silence, Sleep, Slow, Stun, Weaken, Antidote, ArcaneIntellect, Beacon, Fortify, Innervate, Invulnerability, Renew, Reveal, Stealth, Strength, Thorns.
- 64×64 PNG icons for all effect types.
- DataTable with example interaction rules.
- Demo character with keyboard-triggered effects and Server RPCs.
- Buff bar UI with icon display, countdown timers, and stack count overlay.
- Effect trigger volumes (overlap-based application with optional reapply timer).
- Effect dispenser actors (interaction-based buff granting with single-use option).
- Fully built demo map with labeled zones showcasing all features.
- GameMode Blueprint for plug-and-play demo testing.
- Two modules:
APStatusFXRuntime(shipping) andAPStatusFXEditor(editor-only). - 21 source files (10 headers, 11 implementations).
- Gameplay Tag registration via plugin
Config/Tags/StatusFXTags.ini. - UE 5.7+ compatible. Windows platform support.
- All file paths under 170 characters from plugin root.
- Copyright notices in all source files.
#
Known Limitations in v1.0
v1.0 Known Limitations
Client removal reason — Clients always receive RemovedManually. The specific removal reason is server-only state. Planned fix in v1.1.
Client stack change events — Clients fire OnEffectRefreshed instead of OnEffectStackChanged for stack count changes. Bind both delegates for correct display. Planned fix in v1.1.
OnEffectTick is server-only — TimerManager callbacks don't run on clients. Clients read bIsTicking from snapshots for UI indicators. Client tick simulation planned for v1.1.
#
[1.1.0] — Planned
Planned for v1.1
- Replicated removal reason field for accurate client-side removal events.
- Client-side previous stack count caching for accurate
OnEffectStackChangedon clients. - Client tick simulation evaluation.
- Inspector overlay widget (UMG debug ListView of all active effects).
- Effect source tracking ("who poisoned me?" queries).
- AP Timer Suite integration module (optional cross-product bridge).
#
[2.0.0] — Future Roadmap
Future Roadmap
- Lightweight attribute system (Health, Mana, Armor as replicated float pairs).
- Attribute modifiers (Add/Multiply/Override) driven by effects.
- Gameplay Cue integration (event-driven VFX/SFX hooks).
- Client-side effect prediction for instant UI feedback.
- DataTable/CSV bulk import for effect definitions.
- Custom editor details panel with visual stacking preview.
- Save/Load serialization for active effects.
AfterPrime Systems — Building the Gameplay Foundation