#
Changelog
AfterPrime Systems
All notable changes to this product will be documented in this file.
Format follows Keep a Changelog.
#
[1.0.0] — 2026-03-10
#
Initial Release
#
Core System
- Server-authoritative StatusFX component (
UAP_StatusFXSuiteComponent) with 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.
#
Effect Definitions
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.
#
Stacking System
- Five built-in stacking policies: None (Refresh), Stack Duration, Stack Intensity, Independent Instances, Custom Resolver.
- Per-definition MaxStacks cap.
- Global MaxIndependentStacks safety cap via Project Settings.
UAP_StackingResolverabstract base class for Blueprint-extensible custom stacking logic.
#
Event System
- Six BlueprintAssignable delegates: 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.
#
Query API
- HasEffect, HasEffectMatchingQuery, IsImmuneToEffect.
- GetStackCount, GetActiveEffectCount, GetRemainingDuration, GetElapsedTime, GetRemainingRatio.
- GetEffectSnapshot, GetAllActiveEffectSnapshots, GetEffectSnapshotsByQuery, GetActiveEffectTags.
- All queries work on both server and client via replicated state.
#
Immunity System
- Tag-based temporary immunity with configurable duration.
- Automatic immunity grants from interaction rules (DataTable).
- Automatic immunity grants on effect expiration (per-definition).
- Manual GrantImmunity/RevokeImmunity API.
#
Interaction Rules
- 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).
#
Blueprint Integration
- 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.
#
Demo Content
- 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.
- 64x64 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.
#
Documentation
- Quick Start Guide — 5-minute integration walkthrough.
- Full API Reference — all classes, methods, delegates, enums, and structs.
- Changelog with version history and roadmap.
#
Technical
- Two modules: APStatusFXRuntime (shipping) and APStatusFXEditor (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 (v1.0)
- 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
OnEffectRefreshedinstead ofOnEffectStackChangedfor 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
bIsTickingfrom snapshots for UI indicators. Client tick simulation planned for v1.1.
#
[1.1.0] — Planned
#
Planned Features
- Replicated removal reason field for accurate client-side removal events.
- Client-side previous stack count caching for accurate OnEffectStackChanged on 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
#
Planned Features
- 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