
Opis
π Quick Start Guide | π Documentation | π¬ Discord Support
ββββββββββββββββββββββββββββββββββββββββ
Server-authoritative pub/sub event messaging for multiplayer - publish from anywhere, listen from anywhere, no direct references required. One component, zero GAS dependency.
Built for Unreal Engine 5 with server-authoritative replication, transparent client-to-server routing, four delivery scopes, a late-join persistent event cache, a two-tier delegate system, and a full Blueprint API. Includes a C++ demo character, Blueprint helper library, and complete documentation.
The Problem
Multiplayer games need decoupled communication between systems - a player dies, a zone is captured, a match phase changes. Wiring direct actor references across systems creates brittle dependencies. Blueprint Game Events don't replicate. Building a proper replicated pub/sub system from scratch means handling RPCs, authority checks, late-join state, and keeping it all Blueprint accessible.
The Solution
AP Event Bus - a single component on your GameState. Any actor publishes a named event by Gameplay Tag. Any actor listens by Gameplay Tag. Publishers and listeners never reference each other. Client-to-server routing is automatic - one PublishEvent node works from any machine without authority checks.
Everything replicates automatically. Server-authoritative delivery. RPC-based replication. Late-join clients receive all persistent event state on connect.
ββββββββββββββββββββββββββββββββββββββββ
Part of the AfterPrime GAS-Free Multiplayer Stack
ββββββββββββββββββββββββββββββββββββββββ
AP Event Bus is the communication backbone of the AfterPrime plugin suite β production-grade multiplayer gameplay systems that work together, all without GAS. Every plugin follows the same architecture: server-authoritative, Gameplay Tag-keyed, single component, Blueprint-first, FastArray replicated. Try this free plugin to see the AfterPrime quality standard, then explore the full suite below.
ββββββββββββββββββββββββββββββββββββββββ
Core Features
βΈ PUBLISH / SUBSCRIBE ARCHITECTURE
Any actor publishes events onto the bus by Gameplay Tag. Any actor listens for events by tag. No direct actor references required between publishers and subscribers - fully decoupled event-driven design. No manager actors, no subsystems, no GAS dependency.
βΈ TRANSPARENT CLIENT-TO-SERVER ROUTING
Call PublishEvent from a client, the server, or anywhere - one node handles all routing automatically via Server RPC. No authority checks, no separate functions for different network roles. One node works from anywhere.
βΈ FOUR DELIVERY SCOPES
β’ All - server fires + NetMulticast to all connected clients
β’ OwnerOnly - server fires + Client RPC to the owning connection only
β’ ServerOnly - server fires locally, zero client cost
β’ LocalOnly - fires on calling machine only, zero network cost - ideal for UI-only events
βΈ LATE-JOIN CACHE - PERSISTENT EVENTS
Register tags as persistent so their last payload is cached server-side. Late-joining clients automatically receive all cached events on connect - no manual state sync required. Match phase changes, captured objectives, and world state transitions arrive correctly for players who join mid-game.
βΈ TWO-TIER DELEGATE SYSTEM
OnEventReceived fires for every event on the bus regardless of tag - catch-all listening. OnListenedEventReceived fires only for tags registered via ListenForEvent - filtered listening. Use both simultaneously on the same component.
βΈ CACHE QUERY API
WasEventFired, GetLastPayload, GetAllCachedEventTags. Query persistent event state directly without waiting for a delegate.
βΈ BLUEPRINT HELPER LIBRARY
GetEventBusFromGameState, GetEventBusComponent, PublishEventOnBus, MakeEventPayload. Convenience functions available in any Blueprint graph - no component reference hunting required.
βΈ BUILT FOR MULTIPLAYER
Server-authoritative architecture. RPC-based replication - no replicated UPROPERTYs. Full late-join state reconstruction for persistent events. Tested with dedicated servers and listen servers.
βΈ 100% BLUEPRINT ACCESSIBLE
Every method, every delegate, every query exposed to Blueprint. Organized under AP|EventBus categories. C++ users get full access to the same API.
What's Included
β’ C++ plugin - Runtime module, full source included
β’ Blueprint helper library with 4 convenience functions
β’ C++ demo character with input-driven publish examples across all four delivery scopes
β’ Quick Start Guide, full API Reference, and Changelog
Who Is This For?
β’ Multiplayer developers who need decoupled communication between gameplay systems without building a replicated event bus from scratch
β’ Teams who want Blueprint-accessible event-driven architecture without GAS or complex dependencies
β’ Projects where late-join state synchronisation for game events is required - match phases, objectives, world state changes
β’ Any project that wants cleaner system boundaries and less direct actor coupling between gameplay systems
ββββββββββββββββββββββββββββββββββββββββ
The AfterPrime GAS-Free Multiplayer Stack
ββββββββββββββββββββββββββββββββββββββββ
Build complete multiplayer gameplay systems - no GAS required. Every AfterPrime plugin shares the same architecture: server-authoritative, Gameplay Tag-keyed, single component, Blueprint-first, FastArray replicated.
βΈ AP Timer Suite - Replicated Timers + Threshold Events - Server-authoritative timer management with threshold callbacks, late-join correctness, and an optional inspector overlay. Timers for cooldowns, match phases, objectives, and more.
βΈ AP Replicated Cooldowns System - Ability cooldown management with charge systems, global cooldowns, cooldown reduction, shared cooldown groups, and a UI-ready query API.
βΈ AP Replicated Status Effects System - Buffs, debuffs, DoTs, HoTs, and status conditions with five stacking policies, tag-based immunity, effect interaction rules, and a buff bar UI widget. The most advanced plugin in the suite.
βΈ AP Replicated Attributes System - Health, Stamina, Mana, Shield, or any float-based attribute with modifiers, regeneration, and full replication.
All plugins are standalone - use one or combine them for a complete GAS-free multiplayer combat stack.





