FWGuildSystem Plugin¶
Version: 1.0 | Module: FWGuildSystem | Type: Runtime
A comprehensive guild system plugin for Unreal Engine 5 that provides guild creation, rank hierarchies with granular permissions, member management, invitation workflows, audit logging, and HTTP API integration for backend persistence.
Feature Overview¶
| Feature | Description |
|---|---|
| Guild Lifecycle | Create, disband, search, and manage guilds |
| Rank System | Configurable rank hierarchies with bitmask permissions |
| Member Management | Invite, kick, promote, and demote guild members |
| Invitation Workflow | Send, accept, decline, and expire invitations |
| Audit Logging | Track all guild operations with timestamps and actor info |
| HTTP API Integration | Full backend persistence via REST endpoints |
| Chat Integration | Optional sync with FWChatSystem for guild channels |
| Blueprint Support | All operations exposed to Blueprint via callable functions and delegates |
Dependencies¶
| Dependency | Type | Notes |
|---|---|---|
FWChatSystem |
Optional | Enables guild chat channel synchronization. The plugin functions fully without it. |
Optional Dependency Handling
FWGuildSystem detects FWChatSystem at runtime. When absent, the UFWGuildChatIntegrationComponent gracefully disables itself and all chat-related delegates return without error.
Plugin Architecture¶
FWGuildSystem
├── Components/
│ ├── UFWGuildManagerComponent // Blueprint-facing guild operations
│ ├── UFWGuildStateComponent // Local guild state cache
│ └── UFWGuildChatIntegrationComponent // Optional chat bridge
├── Types/
│ └── FWGuildTypes.h // Enums, structs, bitmasks
└── Utils/
└── FFWGuildTypeUtils // Static helper functions
Quick Start¶
1. Enable the Plugin¶
In your .uproject file or via the Plugin Manager, enable FWGuildSystem.
2. Add Components to Your Player Controller or Pawn¶
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Guild")
TObjectPtr<UFWGuildManagerComponent> GuildManager;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Guild")
TObjectPtr<UFWGuildStateComponent> GuildState;
3. Create a Guild¶
4. Configure Rank Permissions¶
FFWGuildRank OfficerRank;
OfficerRank.Name = TEXT("Officer");
OfficerRank.Permissions = static_cast<uint8>(
EFWGuildPermission::Invite |
EFWGuildPermission::Kick |
EFWGuildPermission::ViewAuditLog
);
File Reference¶
| Page | Description |
|---|---|
| Guild Manager Component | Primary API for all guild operations |
| Guild State Component | Local state management and caching |
| Chat Integration Component | Optional FWChatSystem bridge |
| Types Reference | Enums, structs, and bitmask definitions |
| API Reference | Complete function and delegate reference |
| Configuration | Plugin settings and project configuration |
| Events and Delegates | All multicast delegates and event types |
| Permissions Guide | Rank permission system deep dive |
| Tutorial: Setting Up a Guild System | Step-by-step implementation guide |
Compatibility¶
| Engine Version | Status |
|---|---|
| UE 5.4+ | Supported |
| UE 5.3 | Supported |
| UE 5.2 and below | Not tested |
Dedicated Server
Guild operations that communicate with the HTTP API should only execute on the server or in a client-authoritative context with proper validation. The UFWGuildManagerComponent handles authority checks internally when used on replicated actors.