Guild System API Reference
Complete function and delegate reference for the FWGuildSystem plugin, organized by component.
UFWGuildManagerComponent
BlueprintCallable Functions
| Function |
Category |
Parameters |
Returns |
Description |
CreateGuild |
Lifecycle |
GuildName: FString, Description: FString |
void |
Creates a new guild with the caller as leader. |
DisbandGuild |
Lifecycle |
-- |
void |
Permanently disbands the guild. Requires Disband permission. |
InvitePlayer |
Members |
TargetPlayerId: FString |
void |
Sends a guild invitation. Requires Invite permission. |
KickMember |
Members |
MemberId: FString |
void |
Removes a member. Requires Kick permission. |
PromoteMember |
Members |
MemberId: FString |
void |
Promotes to next rank. Requires Promote permission. |
DemoteMember |
Members |
MemberId: FString |
void |
Demotes to next rank. Requires Demote permission. |
EditGuildInfo |
Config |
NewName: FString, NewDescription: FString |
void |
Updates guild name/description. Requires EditInfo permission. |
EditGuildRanks |
Config |
NewRanks: TArray<FFWGuildRank> |
void |
Replaces rank hierarchy. Requires EditRanks permission. |
SearchGuilds |
Search |
Query: FString, Page: int32 = 0, PageSize: int32 = 20 |
void |
Searches guilds by name. |
ViewAuditLog |
Audit |
Page: int32 = 0, PageSize: int32 = 50 |
void |
Retrieves paginated audit log. Requires ViewAuditLog permission. |
Delegates
| Delegate |
Signature |
Description |
OnGuildCreated |
(EFWGuildOperationResult Result, const FFWGuildDetails& Details) |
Guild creation completed. |
OnGuildDisbanded |
(EFWGuildOperationResult Result) |
Guild disband completed. |
OnPlayerInvited |
(EFWGuildOperationResult Result, const FString& TargetPlayerId) |
Invitation sent. |
OnMemberKicked |
(EFWGuildOperationResult Result, const FString& MemberId) |
Member removal completed. |
OnMemberPromoted |
(EFWGuildOperationResult Result, const FString& MemberId, const FFWGuildRank& NewRank) |
Promotion completed. |
OnMemberDemoted |
(EFWGuildOperationResult Result, const FString& MemberId, const FFWGuildRank& NewRank) |
Demotion completed. |
OnGuildInfoEdited |
(EFWGuildOperationResult Result) |
Info edit completed. |
OnGuildRanksEdited |
(EFWGuildOperationResult Result) |
Rank edit completed. |
OnGuildSearchCompleted |
(const FFWGuildSearchResult& Result) |
Search results received. |
OnAuditLogReceived |
(const TArray<FFWGuildAuditLogEntry>& Entries, int32 TotalEntries, int32 CurrentPage) |
Audit log page received. |
OnGuildOperationFailed |
(EFWGuildOperationResult Result, const FString& Message) |
Generic operation failure. |
UFWGuildStateComponent
BlueprintPure Functions
| Function |
Returns |
Description |
IsInGuild |
bool |
Whether the owning player belongs to a guild. |
GetGuildInfo |
const FFWGuildInfo& |
Basic guild summary. |
GetGuildDetails |
const FFWGuildDetails& |
Full guild data with ranks and members. |
GetMyRank |
const FFWGuildRank& |
Current player's rank. |
HasPermission |
bool |
Checks a permission flag against current rank. |
GetMembers |
const TArray<FFWGuildMember>& |
Full member list. |
GetRanks |
const TArray<FFWGuildRank>& |
Rank hierarchy. |
GetPendingInvitations |
const TArray<FFWGuildInvitation>& |
Pending invitations for the player. |
GetMemberCount |
int32 |
Total member count. |
GetOnlineMemberCount |
int32 |
Online member count. |
FindMemberById |
const FFWGuildMember* |
Looks up member by player ID. |
Delegates
| Delegate |
Signature |
Description |
OnGuildStateChanged |
() |
Any guild state mutation. |
OnMemberOnlineStatusChanged |
(const FString& PlayerId, bool bIsOnline) |
Member online/offline change. |
OnInvitationReceived |
(const FFWGuildInvitation& Invitation) |
New invitation received. |
OnInvitationExpired |
(const FString& InvitationId) |
Invitation expired. |
UFWGuildChatIntegrationComponent
BlueprintCallable Functions
| Function |
Parameters |
Returns |
Description |
SetChatChannelPrefix |
Prefix: FString |
void |
Sets the guild channel name prefix. |
SendGuildMessage |
Message: FString |
void |
Sends a player message to guild chat. |
SendGuildSystemMessage |
Message: FString |
void |
Sends a system message to guild chat. |
BlueprintPure Functions
| Function |
Returns |
Description |
GetGuildChannelName |
FString |
Full guild chat channel name. |
IsChatSystemAvailable |
bool |
Whether FWChatSystem is loaded. |
Delegates
| Delegate |
Signature |
Description |
OnGuildChatMessageReceived |
(const FString& SenderId, const FString& Message) |
Chat message received. |
OnGuildChatChannelCreated |
(const FString& ChannelName) |
Channel created. |
OnGuildChatChannelDestroyed |
(const FString& ChannelName) |
Channel destroyed. |
FFWGuildTypeUtils (Static)
| Function |
Parameters |
Returns |
Description |
PermissionsToString |
Permissions: uint8 |
FString |
Human-readable permission list. |
ParseGuildDetails |
JsonString: FString, OutDetails: FFWGuildDetails& |
bool |
Parses JSON to guild details. |
SerializeGuildDetails |
Details: const FFWGuildDetails& |
FString |
Serializes guild details to JSON. |
GetDefaultRanks |
-- |
TArray<FFWGuildRank> |
Returns default 4-rank hierarchy. |
CanActOnRank |
SourceRank: FFWGuildRank, TargetRank: FFWGuildRank |
bool |
Checks rank priority for actions. |
GetResultMessage |
Result: EFWGuildOperationResult |
FText |
User-facing result message. |
UpdateTypeToString |
UpdateType: EFWGuildUpdateType |
FString |
Display string for update type. |
Operation Flow Diagram
The following shows the typical flow for a guild operation:
Player Action
|
v
UFWGuildManagerComponent (BlueprintCallable)
|
+--> Permission check via UFWGuildStateComponent::HasPermission()
| |
| +--> Denied: OnGuildOperationFailed delegate fires
|
+--> HTTP request to backend API
|
+--> Success: Operation-specific delegate fires
| |
| +--> UFWGuildStateComponent updates cached state
| |
| +--> UFWGuildChatIntegrationComponent posts system message
| |
| +--> OnGuildStateChanged fires (UI refresh)
|
+--> Failure: OnGuildOperationFailed delegate fires
Error Handling
All operations follow the same error handling pattern:
- Local validation -- permission checks, state preconditions.
- Network request -- HTTP call to the backend API.
- Result delegate -- operation-specific delegate with
EFWGuildOperationResult.
- Fallback delegate --
OnGuildOperationFailed fires for any non-success result.
// Both the specific and generic delegates fire on failure
GuildManager->OnMemberKicked.AddDynamic(this, &AMyPC::HandleKickResult);
GuildManager->OnGuildOperationFailed.AddDynamic(this, &AMyPC::HandleAnyError);
UI Error Display
Use FFWGuildTypeUtils::GetResultMessage() to convert result codes to localized user-facing text for display in UI popups.