Skip to main content

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]
note

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.

KeySet byNotes
AppIDConfig SyncThe app each realtime session is scoped to. Must match a real app.
OrgIdConfig SyncThe owning organization.
EnvironmentConfig SyncDev, Prod, or Custom.
ManagementApiUrlConfig SyncUsed only when Environment is Custom.
GameApiHttpUrlConfig SyncThe game API endpoint. Empty until you sync an app.
GameApiWsUrlConfig SyncThe game API WebSocket endpoint.
UDPProtocolConfig SyncAuto, IPv4, or IPv6.
UDPTimeoutSecondsConfig SyncSilence before the SDK reconnects. Must be above the 5 second ping interval.
HostPollIntervalSecondsConfig SyncHow often the host is polled.
caution

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.

KeyNotes
bAutoClearPersistentStateOnShutdownWhen true, the persistence subsystem clears the slots it wrote when it shuts down. Requires UDP still connected.
BakedRegistryThe cooked snapshot of Crowdy metadata, generated by Rebuild Crowdy Registry. Required in a packaged build. See packaging.
warning

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.

KeyNotes
MapProfilesA map of level to UCrowdyMapProfile. The SDK uses the matching profile for each level.
DefaultProfileUsed 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.

caution

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.

KeyNotes
IDOverrides, ClassIDOverridesLeave empty unless the startup log reports a hash collision. In practice they stay empty for almost every project.