
ุงููุตู
๐ 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.





