API Reference
Types are in CrimsonSettings unless noted. BP = Blueprint-callable.
Authoring & registry
| Type | Kind | Description |
|---|
UCrimsonSettingsDataAsset | UDataAsset | Sections of FCrimsonSettingDescriptor entries. Per entry: Type, DevName, DisplayName, Description, Storage (bPersistToSharedStore, StorageKey), type fields (range/step/options/action text), Metadata (PerformanceImpact, bRequiresRestart, bRequiresConfirmation, SettingTags, ConflictRules). |
UCrimsonSettingRegistry | Abstract, Blueprintable | BP: Populate From Data Asset, K2_BindSetting, K2_RegisterVideo/Audio/Input/GameplaySettings, Apply Preset, Save/Load/Delete Profile, Profile Exists, Set Preview Mode. C++: OnInitialize, Initialize, RegisterSetting, Regenerate, FindSettingByDevName. |
UCrimsonSettingBlueprintLibrary | UBlueprintFunctionLibrary | Factory nodes: Create Collection, Create Scalar/Discrete Setting, Create Action, Add Setting To Collection; Get Saved Profile Slot Names. |
Settings & value types
| Type | Kind | Description |
|---|
UCrimsonSetting | Abstract UObject | Base: DevName, DisplayName, description, Tags, PerformanceImpact, restart/confirmation flags, edit conditions, conflict rules. |
UCrimsonSettingValueScalar_BP | Scalar value | Slider. OnGetValue/OnSetValue/OnGetFormattedText; BPSourceRange/BPSourceStep/BPDefaultValue; optional keyed storage source. |
UCrimsonSettingValueDiscrete_BP | Discrete value | Options. OnGetOptions/OnGetIndex/OnSetIndex; BPOptions/BPDefaultIndex; optional keyed storage source. |
UCrimsonSettingValueScalarDynamic / ...DiscreteDynamic | C++ value | Data-source-backed (SetDynamicGetter/SetDynamicSetter). Discrete has _Bool/_Number/_Enum/_Color/_Vector2D variants. |
UCrimsonSettingAction | Action | Button; fires a named action tag or custom delegate. |
UCrimsonSettingCollection / ...Collapsible | Container | Section grouping; collapsible variant fires OnExpandedChanged. |
ECrimsonSettingChangeReason | Enum | Change, DependencyChanged, ResetToDefault, RestoreToInitial. |
ECrimsonSettingPerformanceImpact | Enum | None/Low/Medium/High/VeryHigh - drives the row badge. |
Storage
| Type | Kind | Description |
|---|
UCrimsonSettingsShared | ULocalPlayerSaveGame | Per-player save. Keyed store BP: Get/Set Float/Int/Bool/String Value, Has Keyed Value. Broadcasts OnSettingChanged; SaveSettings. Static LoadOrCreateSettings(LocalPlayer) (no singleton). |
UCrimsonSharedSettingsSubsystem | ULocalPlayerSubsystem | Owns/loads the per-player UCrimsonSettingsShared; BP Get Shared Settings; static Get(LocalPlayer); debounced auto-save on change. |
UCrimsonSettingsLocal | UGameUserSettings | Machine-local (GameUserSettings.ini): display, audio, input, scalability. Static Get(); RunAutoBenchmark(bSaveImmediately) (the screen's RunHardwareBenchmark calls it). |
FCrimsonSettingDataSource | C++ interface | Resolve/GetValueAsString/SetValue over a ULocalPlayer context. Impls: ...LocalSettingDataSourceStatic, ...SettingDataSourceDynamic, FCrimsonKeyedSharedSettingDataSource. |
UCrimsonSettingsProfile / ...ProfileIndex | USaveGame | A TMap<FName,FString> snapshot of all settings, and the index of saved slots. |
UCrimsonSettingPreset / FCrimsonSettingPresetEntry | UDataAsset / struct | A named batch of DevName -> value overrides applied via Apply Preset. |
Presentation
| Type | Kind | Description |
|---|
UCrimsonSettingScreen | CommonActivatableWidget | Screen base. Override Create Registry; requires a Settings_Panel bind-widget. bLivePreview/SetLivePreview, ApplyChanges/CancelChanges, RunHardwareBenchmark. Hooks: K2_OnRestartRequired, K2_OnConfirmationRequired, ConfirmSettingChange/RevertSettingChange. |
UCrimsonSettingPanel | CommonUserWidget | Scrollable list. Set Search Text, Set Tag Filter, Clear Tag Filter. |
UCrimsonSettingListEntry | Row widget | K2_OnSettingAssigned, K2_OnSettingStateChanged (dirty/default), K2_OnConflictWarningChanged; IsSettingDirty, IsSettingAtDefault, GetConflictWarningText. |
UCrimsonSettingRegistryChangeTracker | UObject | Drives Apply/Cancel; AnyDirtySettingRequiresRestart(). |
FCrimsonSettingConflictRule | Struct | Watches another setting's value and surfaces an inline warning. |
CrimsonSettingsTags | Namespace | Built-in category tags (Performance/Visual/Audio/Input/Gameplay/Accessibility) for tag filtering. |
UCrimsonFirstRunWizard / UCrimsonFirstRunStep | Widgets | First-run setup sequence; HasCompletedSetup() static; auto-skip when already completed. |