Project Settings
The SDK settings live on UCrowdySDKDeveloperSettings, under Project Settings, Plugins, Crowdy SDK.
In a config file they are written under this section:
[/Script/CrowdyReplication.CrowdySDKDeveloperSettings]
The network fields are written by the Crowdy Studio console, which is the single source of truth. Set them with Config Sync, not by hand. See Setup and Config Sync.
Network
These keys point the SDK at an app and its endpoints. They are all written by Config Sync.
| Key | Set by | Notes |
|---|---|---|
AppID | Config Sync | The app each realtime session is scoped to. Must match a real app. |
OrgId | Config Sync | The owning organization. |
Environment | Config Sync | Dev, Prod, or Custom. |
ManagementApiUrl | Config Sync | Used only when Environment is Custom. |
GameApiHttpUrl | Config Sync | The game API endpoint. Empty until you sync an app. |
GameApiWsUrl | Config Sync | The game API WebSocket endpoint. |
UDPProtocol | Config Sync | Auto, IPv4, or IPv6. |
UDPTimeoutSeconds | Config Sync | Silence before the SDK reconnects. Must be above the 5 second ping interval. |
HostPollIntervalSeconds | Config Sync | How often the host is polled. |
UDPTimeoutSeconds must stay above the 5 second ping interval, or the SDK will reconnect during normal traffic.
Persistence and packaging
These keys control persistent state cleanup and the cooked metadata snapshot.
| Key | Notes |
|---|---|
bAutoClearPersistentStateOnShutdown | When true, the persistence subsystem clears the slots it wrote when it shuts down. Requires UDP still connected. |
BakedRegistry | The cooked snapshot of Crowdy metadata, generated by Rebuild Crowdy Registry. Required in a packaged build. See packaging. |
bAutoClearPersistentStateOnShutdown only fires while UDP is still connected, so delivery is not guaranteed at shutdown. For guaranteed cleanup, call ClearAllState before logout instead.
Map profiles
These keys decide which UCrowdyMapProfile the SDK applies per level.
| Key | Notes |
|---|---|
MapProfiles | A map of level to UCrowdyMapProfile. The SDK uses the matching profile for each level. |
DefaultProfile | Used when the current map has no entry. Leave it unset to keep the SDK off on unlisted maps. |
Each map you play needs a profile, either through MapProfiles or DefaultProfile. See map profile.
Without a matching profile the SDK stays inactive on that map and nothing replicates.
Type id overrides
These keys exist only to resolve startup hash collisions.
| Key | Notes |
|---|---|
IDOverrides, ClassIDOverrides | Leave empty unless the startup log reports a hash collision. In practice they stay empty for almost every project. |