# Structures

> The structures of Rolly Save: what each member holds and its default.

Product: Rolly Save 1.0.0 | Sheet: reference | Updated: 2026-10-31 | HTML: https://rolly-docs.pages.dev/save/reference/structs/

## RollySave

### `FRollySaveActorFilter`

Rolly Save Actor Filter · `#include "Rules/RollySaveActorFilter.h"`

Actors by class, interface, tag or map. A Save Rule's Match and Except use it, and so do the level tools. Matching loads no class: a class that is not in memory has no actors. Every list but Gameplay Tag Query saves with a spawned Reset Area's snapshot.

| Member | Type | Default | Description |
|---|---|---|---|
| Classes | `TArray<TSoftClassPtr<AActor> >` | empty | Actors of these classes and classes made from them. |
| Interfaces | `TArray<TSoftClassPtr<UInterface> >` | empty | Actors whose class implements one of these, in C++ or Class Settings. |
| Actor Tags | `TArray<FName>` | empty | Actors with one of these in Details > Actor > Tags, ignoring case. The way to pick out single Blueprint actors. |
| Gameplay Tags | `FGameplayTagContainer` |  | Actors with one of these gameplay tags or a tag below one: reported through the Gameplay Tag Asset Interface on the actor or a component, such as an Ability System Component, or held in a variable that Project Settings > Plugins > Rolly Save > Gameplay Tag Variables names. Read at each save and load. |
| Gameplay Tag Query | `FGameplayTagQuery` |  | Actors whose gameplay tags, read as for Gameplay Tags, satisfy this query: for all-of, none-of and exact tests. |
| Maps | `TArray<TSoftObjectPtr<UWorld> >` | empty | In Match, only in these maps; in Except, never in them. Not a condition alone: Match still needs a class, interface or tag. |

### `FRollySaveActorOverrides`

Rolly Save Actor Overrides · `#include "Actor/RollySaveActorSettings.h"`

What actors save where it differs from Actor Defaults in Project Settings and from the Save Rules that apply earlier: each value applies only while its tick is set. Not saved: after a load the actor has the values set in the editor.

| Member | Type | Default | Description |
|---|---|---|---|
| Override Save Transform | `bool` | false | Use this Save Transform instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Transform | `bool` | true | Save where the actor is: location, rotation, scale, what it is attached to, and for a pawn the direction its controller faces. A placed actor whose root is not Movable cannot move, so its transform is not saved. A spawned actor always keeps its transform, since it respawns there. |
| Override Save Visibility | `bool` | false | Use this Save Visibility instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Visibility | `bool` | true | Save whether the actor is hidden in game, as Set Actor Hidden In Game sets it. Its components' own visibility is not included. |
| Override Save Physics Velocity | `bool` | false | Use this Save Physics Velocity instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Physics Velocity | `bool` | true | Save how fast the actor moves and spins while its root simulates physics, so it keeps moving after a load. |
| Override Save Movement | `bool` | false | Use this Save Movement instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Movement | `bool` | true | Save the velocity of the actor's movement components and a character's movement mode, such as falling or swimming. |
| Override Keep Destroyed | `bool` | false | Use this Keep Destroyed instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Keep Destroyed | `bool` | true | A placed actor destroyed during play stays destroyed after a load and when the player returns to its level. Off: it comes back as placed. Child actors always come back with their Child Actor Component. |
| Override Respawn | `bool` | false | Use this Respawn instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Respawn | `bool` | true | A spawned actor that saves comes back after a load where it was, with its saved values. Off: it is not saved, for actors your game spawns again itself, such as in Begin Play. |
| Override Apply Timing | `bool` | false | Use this Apply Timing instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Apply Timing | [`ERollySaveApplyTiming`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveapplytiming) | Before Begin Play | Before Begin Play: the actor has its saved values when its Begin Play runs. After Begin Play: they are set once every actor's Begin Play ran, for actors whose Begin Play would overwrite them. When Asked: they wait until your game calls Apply Saved Values for the actor, for actors that set themselves up later, such as after loading data. Keep Current Map loads set them at once. |
| Override Saving | `bool` | false | Use this Saving instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Saving | [`ERollySaveActorSaving`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveactorsaving) | With Saved State | With Saved State: the actor saves when it or a component has a variable with SaveGame ticked, it has a Rolly Save component, something picks a property for it or attaches a handler that has state to save, it is a level instance whose level is unloaded, swapped or holds saved actors, or what its Instances, Destruction and PCG Values settings save has changed. Always: it saves even without them: what the ticks list and whether it was destroyed; each such actor adds a record to every save. Never: it is left out of saves and loads with its components and child actors, and a destroyed one comes back as placed. A local player's own controller, pawn and player state follow Local Players in Project Settings. |
| Override Group | `bool` | false | Use this Group instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Group | `FString` | empty | The group Save Game Part to Rolly Slot and Load Game Part from Rolly Slot take this actor with, such as Chapter2, with its components and Save Handlers; a part save of World leaves it out, and whole saves hold it either way. Empty: it saves with the world. 1 to 1,024 characters, compared with capital letters. |
| Override Instances | `bool` | false | Use these Instances settings instead of those from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Instances | [`FRollySaveInstanceSettings`](https://rolly-docs.pages.dev/save/reference/structs/#frollysaveinstancesettings) |  | What an actor saves of its instanced meshes, its foliage and the output of its PCG components. Landscape grass, HLODs, Mass crowds and instances that live only on the GPU are never saved. |
| Override Destruction | `bool` | false | Use this Destruction instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Destruction | [`ERollySaveDestruction`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavedestruction) | Exact Groups | What a load keeps of the actor's broken geometry collections; an unbroken one saves nothing. Restored pieces fire no break events: use On Rolly Save Loaded or the component's On Loaded. |
| Override PCG Values (`bOverride_PCGValues`) | `bool` | false | Use this PCG Values instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| PCG Values (`PCGValues`) | [`ERollySavePCGValues`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavepcgvalues) | Changed Values | Which values of the actor's PCG components save: Seed, Activated, the graph, overridden graph parameters, and whether an On Demand component was generated. |
| Override Regenerate PCG (`bOverride_PCGRegenerate`) | `bool` | false | Use this Regenerate PCG instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Regenerate PCG (`PCGRegenerate`) | [`ERollySavePCGRegenerate`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavepcgregenerate) | When Values Changed | Whether the actor's PCG components generate again after a load. |
| Override Save Physics Sleep | `bool` | false | Use this Save Physics Sleep instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Physics Sleep | `bool` | true | Save whether a root that simulates physics is asleep, so a crate that came to rest stays at rest after a load instead of settling again. A body that touches a moving one wakes up. Off: it starts as Start Awake on its body says. |
| Override Save Level Instance State (`bOverride_SaveLevelInstance`) | `bool` | false | Use this Save Level Instance State instead of the one from Actor Defaults in Project Settings and Save Rules that apply earlier. |
| Save Level Instance State (`bSaveLevelInstance`) | `bool` | true | For a level instance actor: save whether its level is loaded, so one your game unloaded stays unloaded after a load, and which level it shows, so the saved state of its actors is set only in the level it was saved in. Off: every level instance loads its level after a load. Packed Level Actors and level instances embedded in a World Partition map have no such state. |

### `FRollySaveActorSettings`

Rolly Save Actor Settings · `#include "Actor/RollySaveActorSettings.h"`

What an actor that saves keeps beside its variables with SaveGame ticked: Actor Defaults in Project Settings, and what an actor resolves to once its Save Rules and its Rolly Save component's overrides are applied.

| Member | Type | Default | Description |
|---|---|---|---|
| Save Transform | `bool` | true | Save where the actor is: location, rotation, scale, what it is attached to, and for a pawn the direction its controller faces. A placed actor whose root is not Movable cannot move, so its transform is not saved. A spawned actor always keeps its transform, since it respawns there. |
| Save Visibility | `bool` | true | Save whether the actor is hidden in game, as Set Actor Hidden In Game sets it. Its components' own visibility is not included. |
| Save Physics Velocity | `bool` | true | Save how fast the actor moves and spins while its root simulates physics, so it keeps moving after a load. |
| Save Movement | `bool` | true | Save the velocity of the actor's movement components and a character's movement mode, such as falling or swimming. |
| Keep Destroyed | `bool` | true | A placed actor destroyed during play stays destroyed after a load and when the player returns to its level. Off: it comes back as placed. Child actors always come back with their Child Actor Component. |
| Respawn | `bool` | true | A spawned actor that saves comes back after a load where it was, with its saved values. Off: it is not saved, for actors your game spawns again itself, such as in Begin Play. |
| Apply Timing | [`ERollySaveApplyTiming`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveapplytiming) | Before Begin Play | Before Begin Play: the actor has its saved values when its Begin Play runs. After Begin Play: they are set once every actor's Begin Play ran, for actors whose Begin Play would overwrite them. When Asked: they wait until your game calls Apply Saved Values for the actor, for actors that set themselves up later, such as after loading data. Keep Current Map loads set them at once. |
| Saving | [`ERollySaveActorSaving`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveactorsaving) | With Saved State | With Saved State: the actor saves when it or a component has a variable with SaveGame ticked, it has a Rolly Save component, something picks a property for it or attaches a handler that has state to save, it is a level instance whose level is unloaded, swapped or holds saved actors, or what its Instances, Destruction and PCG Values settings save has changed. Always: it saves even without them: what the ticks list and whether it was destroyed; each such actor adds a record to every save. Never: it is left out of saves and loads with its components and child actors, and a destroyed one comes back as placed. A local player's own controller, pawn and player state follow Local Players in Project Settings. |
| Group | `FString` | empty | The group Save Game Part to Rolly Slot and Load Game Part from Rolly Slot take this actor with, such as Chapter2, with its components and Save Handlers; a part save of World leaves it out, and whole saves hold it either way. Empty: it saves with the world. 1 to 1,024 characters, compared with capital letters. |
| Instances | [`FRollySaveInstanceSettings`](https://rolly-docs.pages.dev/save/reference/structs/#frollysaveinstancesettings) |  | What an actor saves of its instanced meshes, its foliage and the output of its PCG components. Landscape grass, HLODs, Mass crowds and instances that live only on the GPU are never saved. |
| Destruction | [`ERollySaveDestruction`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavedestruction) | Exact Groups | What a load keeps of the actor's broken geometry collections; an unbroken one saves nothing. Restored pieces fire no break events: use On Rolly Save Loaded or the component's On Loaded. |
| PCG Values (`PCGValues`) | [`ERollySavePCGValues`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavepcgvalues) | Changed Values | Which values of the actor's PCG components save: Seed, Activated, the graph, overridden graph parameters, and whether an On Demand component was generated. |
| Regenerate PCG (`PCGRegenerate`) | [`ERollySavePCGRegenerate`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavepcgregenerate) | When Values Changed | Whether the actor's PCG components generate again after a load. |
| Save Physics Sleep | `bool` | true | Save whether a root that simulates physics is asleep, so a crate that came to rest stays at rest after a load instead of settling again. A body that touches a moving one wakes up. Off: it starts as Start Awake on its body says. |
| Save Level Instance State (`bSaveLevelInstance`) | `bool` | true | For a level instance actor: save whether its level is loaded, so one your game unloaded stays unloaded after a load, and which level it shows, so the saved state of its actors is set only in the level it was saved in. Off: every level instance loads its level after a load. Packed Level Actors and level instances embedded in a World Partition map have no such state. |

### `FRollySaveAreaShape`

Rolly Save Area Shape · `#include "Level/RollySaveResetAreaState.h"`

One shape of a Reset Area on an actor spawned during play, as its snapshot keeps it. Its names are written into saves and never change.

### `FRollySaveBlackboardBool`

Rolly Save Blackboard Bool · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Bool key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardClass`

Rolly Save Blackboard Class · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Class key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardFloat`

Rolly Save Blackboard Float · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Float key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardInt`

Rolly Save Blackboard Int · `#include "EngineState/RollySaveBlackboardHandler.h"`

An Int key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardName`

Rolly Save Blackboard Name · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Name key's value, or an Enum key's as its enumerator's name, as the Blackboard handler saves it.

### `FRollySaveBlackboardObject`

Rolly Save Blackboard Object · `#include "EngineState/RollySaveBlackboardHandler.h"`

An Object key's value, as the Blackboard handler saves it: a saved actor by its save ID, an asset as an asset.

### `FRollySaveBlackboardRotator`

Rolly Save Blackboard Rotator · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Rotator key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardString`

Rolly Save Blackboard String · `#include "EngineState/RollySaveBlackboardHandler.h"`

A String key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardStruct`

Rolly Save Blackboard Struct · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Struct key's value, as the Blackboard handler saves it.

### `FRollySaveBlackboardVector`

Rolly Save Blackboard Vector · `#include "EngineState/RollySaveBlackboardHandler.h"`

A Vector key's value, as the Blackboard handler saves it; an unset key holds the engine's invalid location.

### `FRollySaveCheckSeverities`

Rolly Save Check Severities · `#include "Checks/RollySaveCheckTypes.h"`

How each of Rolly Save's editor checks reports, one row per check. Default follows Rolly Save's choice, so a row a project never touched follows a later version's default. Members are only added.

| Member | Type | Default | Description |
|---|---|---|---|
| Duplicate Custom Save ID (`DuplicateCustomId`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Two actors of a map share a Custom Save ID, so both save under their names. Default: Error. |
| Custom Save ID in a Level Instance (`CustomIdInLevelInstance`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | An actor with a Custom Save ID sits in a level a map embeds more than once as a level instance. Default: Warning. |
| Struct Members without SaveGame (`StructMembersNotSaved`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A saved Blueprint struct has members without SaveGame, which are not saved. Default: Warning. |
| C++ Struct Saved in Part (`CppStructPartlySaved`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A saved C++ struct has members without SaveGame. Default: Warning. |
| Property Paths (`PathNotApplicable`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Saved by Path entries a class lacks, cannot save, applies with a wrong setter or nests too deep, rules matched by tag included. Default: each message's own, Warning or Error. |
| Save Rule Ties (`RuleTie`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Two Save Rules of equal Priority disagree about actors of the map. Default: Warning. |
| Property GUIDs Not Cooked (`CookGuidsOff`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A Blueprint with SaveGame variables does not cook property GUIDs, so renaming a variable loses saved values in packaged games. Default: Warning. |
| Save Transform on a Static Root (`StaticRoot`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A Save Rule or component saves the transform of actors whose root cannot move. Default: Warning. |
| Level Tool Setup (`LevelToolSetup`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Problems of Save Points, Checkpoint, Autosave and Reset Area Volumes and their components, as their Checks rows show. Default: each message's own. |
| Actor Setup (`ActorSetup`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Problems of Rolly Save components and Custom Save IDs. Default: each message's own. |
| Unloaded Actors without Saved IDs (`OldDescriptors`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | World Partition actors saved before Rolly Save stored their data, which checks of unloaded actors skip. Default: Info. |
| Play in an Unsaved Map (`TemporaryMap`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Play In Editor in a map never saved, whose saves no load can open. Default: Warning. |
| Reset Area in a Streamed Level (`ResetAreaStreamed`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A Reset Area inside a streaming sublevel or a Standalone level instance reaches actors of other levels, which it cannot reset while its level is unloaded. Default: Warning. |
| Replicated Collections That Abandon Pieces (`AbandonAfterLevel`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | A geometry collection whose actor saves its breaks has Enable Replication and Enable Abandon After Level on, so the server turns off its pieces past a level as they break: saves keep no break past it, and clients show none of a load's restore. Default: Warning. |
| Debug Commands on Quick Keys (`QuickKeyDebugCommands`) | [`ERollySaveCheckSeverity`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecheckseverity) | Default | Play In Editor with the quick keys on keys the engine also binds to debug commands, such as viewmode shadercomplexity on F5 and shot showui on F9, which run beside them outside Shipping. Default: Warning. |

### `FRollySaveCollectionScalar`

Rolly Save Collection Scalar · `#include "Level/RollySaveParameterCollections.h"`

A scalar value of a Material Parameter Collection that differs from the collection's default. Its names are written into saves and never change.

### `FRollySaveCollectionVector`

Rolly Save Collection Vector · `#include "Level/RollySaveParameterCollections.h"`

A vector value of a Material Parameter Collection that differs from the collection's default. Its names are written into saves and never change.

### `FRollySaveComponentFilter`

Rolly Save Component Filter · `#include "EngineState/RollySaveEngineStateHandler.h"`

Which of the actor's components a handler takes: one that each list with entries holds, any entry within a list. With every list empty, every component of the handler's kind.

| Member | Type | Default | Description |
|---|---|---|---|
| Names | `TArray<FName>` | empty | Component names, as the Components panel shows them, such as DoorTimeline. |
| Classes | `TArray<TSoftClassPtr<UActorComponent> >` | empty | Component classes; their children count too. |
| Tags | `TArray<FName>` | empty | Component tags. |

### `FRollySaveDataLayerEntry`

Rolly Save Data Layer Entry · `#include "Level/RollySaveDataLayerState.h"`

What a save holds of one runtime Data Layer. Its names are written into saves and never change; members are only added.

### `FRollySaveDynamicLevel`

Rolly Save Dynamic Level · `#include "Level/RollySaveDynamicLevels.h"`

What a save holds of one level the game loaded with Load Level Instance under a name. Its names are written into saves and never change; members are only added.

### `FRollySaveInstanceKey`

Rolly Save Instance Key · `#include "Instances/RollySaveInstanceTypes.h"`

Names one instance of a tracked component across saves and loads. Compare keys, use them as map keys and save them in your own SaveGame variables; Get Rolly Instance Key and Find Rolly Instance by Key turn them into instances and back.

### `FRollySaveInstanceSettings`

Rolly Save Instance Settings · `#include "Instances/RollySaveInstanceTypes.h"`

What an actor saves of its instanced meshes, its foliage and the output of its PCG components. Landscape grass, HLODs, Mass crowds and instances that live only on the GPU are never saved.

| Member | Type | Default | Description |
|---|---|---|---|
| Mode | [`ERollySaveInstanceMode`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveinstancemode) | Off | What a load keeps of the instances. |
| Components | [`ERollySaveInstanceComponents`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveinstancecomponents) | Every Instanced Mesh | Which of the actor's components save their instances. |
| Meshes | `TArray<TSoftObjectPtr<UObject> >` | empty | Only components that show one of these static meshes or skinned assets, such as your harvestable trees. Empty: every component Components takes. Each saved instance holds about 56 bytes, plus 4 per custom data value, while its level is loaded. |
| Match Tolerance | `float` | 1 | How far an instance may have moved in the level since a save and still take that save's changes, such as after a designer nudged a tree. Changes that match no instance follow Keep Unmatched. From 0.01 to 1000. |
| Save Custom Data | `bool` | true | Save each instance's custom data values, such as a crop's growth stage set with Set Custom Data Value. Off: instances keep the values the level gives them. |
| Keep Unmatched | `bool` | true | Keep saved changes that match no instance after the level changed, such as a tree moved past Match Tolerance or a repainted forest, so undoing the change matches them again; the load's Issues list them. Off: the next save drops them. |
| Regrow After | `double` | 0 | A removed instance comes back as the level designs it once this much time has passed on Reset Clock in Project Settings > Plugins > Rolly Save > Reset Areas, such as 259200 for three days, and On Instances Regrown fires. Inside a Reset Area set to Never with Reset Instances on, nothing regrows. 0: removed instances stay removed. From 0 to 315360000. |
| Regrow After per Mesh (`RegrowAfterByMesh`) | `TMap<TSoftObjectPtr<UObject> ,double>` | empty | Meshes that regrow after their own time in seconds, such as bushes after 3600 while trees use Regrow After; 0 keeps that mesh removed. |

### `FRollySaveMaterialComponent`

Rolly Save Material Component · `#include "EngineState/RollySaveMaterialHandler.h"`

The materials of one mesh or decal component, as the Material Parameters handler saves them.

### `FRollySaveMaterialDoubleVector`

Rolly Save Material Double Vector · `#include "EngineState/RollySaveMaterialHandler.h"`

A double vector parameter of a dynamic material instance: global parameters only, since the engine sets them by name.

### `FRollySaveMaterialObject`

Rolly Save Material Object · `#include "EngineState/RollySaveMaterialHandler.h"`

An object parameter of a dynamic material instance, such as a texture or a font, as the Material Parameters handler saves it.

### `FRollySaveMaterialScalar`

Rolly Save Material Scalar · `#include "EngineState/RollySaveMaterialHandler.h"`

A scalar parameter of a dynamic material instance, as the Material Parameters handler saves it.

### `FRollySaveMaterialSlot`

Rolly Save Material Slot · `#include "EngineState/RollySaveMaterialHandler.h"`

One material slot of a component, as the Material Parameters handler saves it.

### `FRollySaveMaterialVector`

Rolly Save Material Vector · `#include "EngineState/RollySaveMaterialHandler.h"`

A vector parameter of a dynamic material instance, as the Material Parameters handler saves it.

### `FRollySaveMontageLink`

Rolly Save Montage Link · `#include "EngineState/RollySaveMontageHandler.h"`

A section link of a playing montage that differs from its asset's, as the Montages handler saves it.

### `FRollySaveMontageMesh`

Rolly Save Montage Mesh · `#include "EngineState/RollySaveMontageHandler.h"`

The montages one skeletal mesh plays, as the Montages handler saves them.

### `FRollySaveMontageState`

Rolly Save Montage State · `#include "EngineState/RollySaveMontageHandler.h"`

One montage a skeletal mesh plays, as the Montages handler saves it.

### `FRollySaveParameterCollection`

Rolly Save Parameter Collection · `#include "Level/RollySaveParameterCollections.h"`

What a save holds of one Material Parameter Collection in one map. Its names are written into saves and never change; members are only added.

### `FRollySaveProfileInfo`

Rolly Save Profile Info · `#include "RollySaveTypes.h"`

One named profile as List Rolly Profiles gives it, read without opening the profile's file.

| Member | Type | Default | Description |
|---|---|---|---|
| Key | `FString` | empty | The profile's key, such as profile_0a1b2c3d: what Use, Rename and Delete Rolly Profile take and what saves record. |
| Display Name | `FString` | empty | The profile's name as the player typed it. |
| Save Time | `FDateTime` | 0 | When the profile was last saved, in UTC. |
| Used by Player | `int32` | -1 | The local player who uses the profile, 0 for the first; -1 for none. |

### `FRollySavePropertyPath`

Rolly Save Property Path · `#include "Rules/RollySavePropertyPath.h"`

One property of an actor or of its components that saves by path, such as a light's intensity: Save Rules and the Rolly Save component list them in Saved by Path and Not Saved. A load gives the value back through the property's setter where Rolly Save knows one.

| Member | Type | Default | Description |
|---|---|---|---|
| Component | `FName` | None | The component's name as the Components panel shows it. None, with Component Class and Component Tag empty: the actor's own property. |
| Property | `FName` | None | The property's name in C++ or the Blueprint. None in Not Saved: the whole component. |
| Component Class | `TSoftClassPtr<UActorComponent> ` | None | Every component of this class or a class made from it, components added during play included. With Component set, only the one of that name. |
| Component Tag | `FName` | None | Only components with this in their Component Tags. |
| Members | `TArray<FName>` | empty | Members inside Property when it is a struct, outermost first, such as Collision Enabled inside Body Instance. At most 8. |
| Setter | `FName` | None | A function of the component or actor that takes the value, called instead of the automatic choice, such as a plugin's Set Speed. Pick Properties fills it from the property's Blueprint setter. None: automatic. |

### `FRollySaveRecordHandle`

Rolly Save Record · `#include "Migration/RollySaveMigrationContext.h"`

A saved object of the save a migration step changes. Valid inside the Migrate call whose Find Records node returned it.

### `FRollySaveRecordInfo`

Rolly Save Record Info · `#include "Migration/RollySaveMigrationContext.h"`

Where a saved object is in its save, and what it was saved for.

| Member | Type | Default | Description |
|---|---|---|---|
| Chunk Id | `FString` | empty | The chunk that holds it: GLOB for the game's objects, WRLD for a map's. |
| Chunk Key | `FString` | empty | The chunk's key: empty in GLOB, the map's name in WRLD, such as /Game/Maps/Tavern. |
| Subject Kind | [`ERollySaveSubjectKind`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavesubjectkind) | Other | How the save names the object it restores. Other for a kind this version does not know. |
| Subject | `FString` | empty | The object it restores, such as GameMode for a Global or QuestLog for a Registered Name. |
| Class Path | `FString` | empty | The class it was saved as, such as /Game/Chests/BP_Chest.BP_Chest_C; empty when it names none. |

### `FRollySaveResetAreaEntry`

Rolly Save Reset Area Entry · `#include "Level/RollySaveResetAreaState.h"`

What a save holds of one Reset Area. Its names are written into saves and never change; members are only added.

### `FRollySaveResetAreaSnapshot`

Rolly Save Reset Area Snapshot · `#include "Level/RollySaveResetAreaState.h"`

The settings and shapes of a Reset Area on an actor spawned during play, which stand in for it before it spawns again.

### `FRollySaveResult`

Rolly Save Result · `#include "RollySaveTypes.h"`

How a Rolly Save operation ended. Every Rolly Save node and event gives one.

| Member | Type | Default | Description |
|---|---|---|---|
| Status | [`ERollySaveStatus`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavestatus) | Succeeded | How it ended. |
| Slot Name | `FString` | empty | The slot it acted on; for Copy, To Slot Name. |
| From Backup | `bool` | false | Load and Copy: the save came from the backup copy because the newest copy is damaged or unreadable, so the last save may be missing. Tell the player. |
| Detail | `FString` | empty | What happened, in English for logs; never show it to players. |
| Issues | `TArray<FString>` | empty | Values saved or loaded as empty while the rest worked, such as a missing asset, one line each (\<Kind>: \<detail>), at most 100; the 100th line then says how many more the log has. |
| Kind | [`ERollySaveSlotKind`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveslotkind) | Other | The kind of save that was saved or loaded, from its metadata; Other for other operations and for saves without metadata. |

### `FRollySaveRunLedgerEntry`

Rolly Save Run Ledger Entry · `#include "Run/RollySaveRunLedger.h"`

What the run ledger knows of one single-slot run. Its names are written into profiles and never change.

### `FRollySaveScope`

Rolly Save Scope · `#include "RollySaveTypes.h"`

Which parts of the game a part save or part load takes. Tick several to save them in one write. Part saves keep what the slot holds of the parts left out.

| Member | Type | Default | Description |
|---|---|---|---|
| Players | `bool` | false | The local players' controllers, pawns and player states, with their components. |
| World | `bool` | false | The maps with their actors and Level Blueprints, the levels kept across travel and streaming, and what saves without a group, such as the game instance and objects registered without one. Actors with a Group are left out. |
| Groups | `TArray<FString>` | empty | Registered objects, Save Handlers and actors of these groups, such as Chapter2, in every map. Names compare with capital letters. |

### `FRollySaveSlotInfo`

Rolly Save Slot Info · `#include "RollySaveTypes.h"`

One save as a slot list shows it: List Rolly Slots reads it from the slot index and Get Memory Slots from memory, without reading the save. The members after Size come from the save's metadata.

| Member | Type | Default | Description |
|---|---|---|---|
| Slot Name | `FString` | empty | The slot's name as it was saved: what Load takes. |
| Save Time | `FDateTime` | 0 | When it was saved, in UTC. Format Text's As Date Time shows it in the player's time zone. |
| Game Data Version | `int32` | 0 | The Game Data Version it was saved with; above this build's it does not load. |
| Size (`SizeBytes`) | `int64` | 0 | Bytes in storage. |
| Has Metadata | `bool` | false | False when the save's metadata is missing or cannot be read, such as a save of an older version; the members below then hold their defaults, and the slot still loads. |
| Title | `FString` | empty | The save's title, as the player typed it or Set Rolly Slot Title set it; empty when it has none, such as an autosave. |
| Has Thumbnail (`bHasThumbnail`) | `bool` | false | True when the save holds a picture; Load Rolly Slot Thumbnail gives it as a texture. |
| Map | `FString` | empty | The map the save was made in, such as /Game/Maps/Tavern. |
| Play Time | `FTimespan` | 0 | Play time when it was saved, counted from the new game: paused time does not count, slow motion counts at real speed. |
| Location (`LocationText`) | `FText` | empty | The place Set Slot Location named when it was saved, such as Tavern Cellar. |
| Kind | [`ERollySaveSlotKind`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaveslotkind) | Other | What made the save. |
| Checkpoint Name | `FName` | None | The checkpoint's name, for a checkpoint. |
| Run State | [`ERollySaveRunState`](https://rolly-docs.pages.dev/save/reference/enums/#erollysaverunstate) | None | Whether the save belongs to a single-slot run, and whether that run ended. |
| New Game Plus Cycle | `int32` | 0 | The New Game Plus cycle it was saved in; 0 in a first game. |
| Profile Key | `FString` | empty | The profile key of the first local player when it was saved, to show each profile its own saves. |
| Game Fields | `FInstancedStruct` |  | Your Slot Fields Struct as Set Slot Game Fields filled it; empty when the save holds another struct or none. Read it with Get Instanced Struct Value. |
| Capture Frames | `int32` | 1 | The frames the save's capture took: 1 for a capture in one frame, more for a save Spreading Work spread. Saves made before this version read 1. |

### `FRollySaveSoundState`

Rolly Save Sound State · `#include "EngineState/RollySaveAudioHandler.h"`

One audio component of an actor, as the Audio handler saves it.

### `FRollySaveStarter`

Rolly Save Starter · `#include "Game/RollySaveEvents.h"`

Who started a save (On Save Started).

| Member | Type | Default | Description |
|---|---|---|---|
| By | [`ERollySaveStartedBy`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavestartedby) | Server | Who started the save. |
| Player | `APlayerController` | None | The local player's controller when By is Local Player; None otherwise. |

### `FRollySaveTagQueryNode`

Rolly Save Tag Query Node · `#include "Level/RollySaveResetAreaState.h"`

One expression of a Gameplay Tag Query as a Reset Area's snapshot keeps it, depth first: the expressions of an expression of expressions follow it. Its names are written into saves and never change.

### `FRollySaveThumbnailHold`

Rolly Save Thumbnail Hold · `#include "Game/RollySaveThumbnailHold.h"`

A picture of one player's view that Capture Rolly Thumbnail Hold took, kept by whoever holds this instead of for the next save: each of several menus open at once, such as two split-screen players' save screens, keeps its own until Use Rolly Thumbnail Hold gives it to that menu's save. Copies share the picture; it goes with the last copy.

### `FRollySaveTimelineState`

Rolly Save Timeline State · `#include "EngineState/RollySaveTimelineHandler.h"`

One timeline of an actor, as the Timelines handler saves it.

## RollySaveStateTree

### `FRollySaveStateTreeActiveState`

Rolly Save State Tree Active State · `#include "RollySaveStateTreeHandler.h"`

One active state of a saved StateTree path, as the StateTree handler saves it: the tree that holds it and its ID there.

### `FRollySaveStateTreeState`

Rolly Save State Tree State · `#include "RollySaveStateTreeHandler.h"`

One StateTree component, as the StateTree handler saves it.

## RollySaveGAS

### `FRollySaveGASAbility`

Rolly Save GAS Ability · `#include "RollySaveGASTypes.h"`

One ability given to a component, as the Gameplay Abilities handler saves it.

### `FRollySaveGASAttribute`

Rolly Save GAS Attribute · `#include "RollySaveGASTypes.h"`

One attribute's base value, as the Gameplay Abilities handler saves it.

### `FRollySaveGASEffect`

Rolly Save GAS Effect · `#include "RollySaveGASTypes.h"`

One active effect, as the Gameplay Abilities handler saves it.

### `FRollySaveGASState`

Rolly Save GAS State · `#include "RollySaveGASTypes.h"`

One Ability System Component, as the Gameplay Abilities handler saves it.

### `FRollySaveGASTagCount`

Rolly Save GAS Tag Count · `#include "RollySaveGASTypes.h"`

One loose tag with its count, as the Gameplay Abilities handler saves it.

## RollySaveUI

### `FRollySaveSlotFields`

Rolly Save Slot Fields · `#include "RollySaveUITypes.h"`

What each row and the detail show of a save.

| Member | Type | Default | Description |
|---|---|---|---|
| Location (`bLocation`) | `bool` | true | The place Set Slot Location named. |
| Play Time (`bPlayTime`) | `bool` | true | The play time. |
| Save Time (`bSaveTime`) | `bool` | true | When the save was made. |
| Kind Icons (`bKindIcons`) | `bool` | true | Quick saves, autosaves, checkpoints and runs marked on the picture. |
| Map (`bMap`) | `bool` | false | The map, in the detail. |
| New Game+ (`bNewGamePlusCycle`) | `bool` | false | The New Game+ cycle, above 0. |
| Profile (`bProfile`) | `bool` | false | The profile that made the save, while every profile's saves show. |

### `FRollySaveUIGameField`

Rolly Save UI Game Field · `#include "RollySaveUITypes.h"`

A member of your Slot Fields Struct the slot screen shows, with its words.

| Member | Type | Default | Description |
|---|---|---|---|
| Member | `FName` | None | The member of your Slot Fields Struct. |
| Format | `FText` | {Value} | How it reads; {Value} is the member's value, such as Day {Value}. |
| In Row (`bInRow`) | `bool` | true | In the row's caption. |
| In Detail (`bInDetail`) | `bool` | true | In the detail's facts. |

### `FRollySaveUITexts`

Rolly Save UI Texts · `#include "RollySaveUITypes.h"`

Words the slot screen, the indicator and the overlay show.

| Member | Type | Default | Description |
|---|---|---|---|
| Save Title (`SaveTitle`) | `FText` | Save Game | The slot screen's title in Save mode. |
| Load Title (`LoadTitle`) | `FText` | Load Game | In Load mode. |
| New Game Title (`NewGameTitle`) | `FText` | New Game | In New Game mode. |
| Import Title (`ImportTitle`) | `FText` | Import a Save | Over the export folder's saves, and the row that opens it. |
| New Save (`NewSave`) | `FText` | New Save | The row that saves to a new slot. |
| New Playthrough (`NewPlaythrough`) | `FText` | New Playthrough | The row that starts a new playthrough. |
| New Run (`NewRun`) | `FText` | New Run | The row that starts a new run. |
| No Saves (`NoSaves`) | `FText` | No saves yet. | Load with no saves. |
| No Profile Saves (`NoProfileSaves`) | `FText` | No saves for {Profile} yet. | Load with no saves of the profile shown; {Profile} is its name. |
| Client Refused (`ClientRefused`) | `FText` | Only the host can save and load. | A client asked for a Save, Load or New Game screen. |
| First Player Only (`FirstPlayerOnly`) | `FText` | Only Player 1 can load. | A player other than player 1 asked to load while Who Can Load is First Player. |
| Saving | `FText` | Saving | The indicator while saving. |
| Saved | `FText` | Saved | The indicator once saved. |
| Loading | `FText` | Loading | The overlay's corner while loading, and the saving indicator's corner while a player is held for ground. |
| Loaded | `FText` | Loaded. | Menu narration as the loading overlay leaves after a load that succeeded. |

### `FRollySaveUITitles`

Rolly Save UI Titles · `#include "RollySaveUITypes.h"`

How saves without a typed title are named; {Number} is the n of slot_\<n> or autosave_\<n>.

| Member | Type | Default | Description |
|---|---|---|---|
| New Save (`NewSave`) | `FText` | Save {Number} | A new save's title in Free Slots, offered in the title question. Also {Location}, {Date}, {PlayTime}. |
| Numbered | `FText` | Slot {Number} | A numbered slot's save. |
| Playthrough | `FText` | Playthrough {Number} | A playthrough's save. |
| Run | `FText` | Run {Number} | A run's save. |
| Quick | `FText` | Quick Save | The quick save. |
| Autosave | `FText` | Autosave {Number} | An autosave. |
| Checkpoint | `FText` | Checkpoint: {Checkpoint} | A checkpoint with a name; {Checkpoint} is its name. |
| Unnamed Checkpoint (`UnnamedCheckpoint`) | `FText` | Checkpoint | A checkpoint without a name. |
| Imported | `FText` | Imported Save | A save imported from another machine. |
| Copy | `FText` | Copy of {Title} | A copy's title; {Title} is the copied save's. |

## RollySaveCore

### `FRollySaveCoreDeviceFamilyName`

Rolly Save Core Device Family Name · `#include "Input/RollySaveCoreInputTypes.h"`

A name of an input device and the gamepad family it belongs to, for button prompts.

| Member | Type | Default | Description |
|---|---|---|---|
| Name | `FString` | empty | An input device's hardware name or input class name (XInputController, DualSense), or a part of it with Match Part Of Name. Letter case does not matter. |
| Match Part Of Name | `bool` | false | Match when the device's name contains Name. Exact names are tried first. |
| Family | [`ERollySaveCoreGamepadFamily`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoregamepadfamily) | Generic | The family whose button prompts a device with this name shows. |

## RollySaveCoreUI

### `FRollySaveCoreUIArea`

Rolly Save Core UIArea · `#include "Layout/RollySaveCoreUIAreas.h"`

The area a screen fills, sorted into size classes, with the two rules every template shares worked out: below 640 x 360 the layout keeps that size and scales down to fit (the only case where text gets smaller), and on screens wider than 21:9 the content lays out in a centred region at most Max Layout Aspect times the height wide while the backdrop fills the rest.

| Member | Type | Default | Description |
|---|---|---|---|
| Size | `FVector2D` | 0, 0 | The area the screen was given; zero while it is unknown (the full layout is used then). |
| Layout Size | `FVector2D` | 0, 0 | The area the layout uses: the given area, or 640 x 360 below that floor. |
| Scale | `float` | 1 | How much the layout is scaled to fit: 1, or less below the floor. |
| Region Width | `float` | 0 | The width content lays out in: the layout width, at most Max Layout Aspect times the screen's height. 0 while unknown. |
| Region Aspect | `float` | 0 | The widest aspect the region lays out in (0: any): Max Layout Aspect, widened for a player in a horizontal split. |
| Width | [`ERollySaveCoreUIWidthClass`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiwidthclass) | Wide | The width class of the layout size. |
| Height | [`ERollySaveCoreUIHeightClass`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiheightclass) | Tall | The height class of the layout size. |

### `FRollySaveCoreUIBehaviour`

Rolly Save Core UIBehaviour · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

How the interface behaves.

| Member | Type | Default | Description |
|---|---|---|---|
| Wrap Navigation | `bool` | true | Lists, the rail and dialog buttons go from the last item around to the first (grids never wrap). |
| Hover Moves Focus | `bool` | true | Moving the mouse over a row or button focuses it while the player uses keyboard and mouse. |
| Show Option Dots | [`ERollySaveCoreUIOptionDots`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuioptiondots) | Template Default | When steppers show a dot per option under their value. |
| Toast Seconds | `float` | 6 | The least time a notification stays (seconds); longer text stays longer. From 2 to 30. |

### `FRollySaveCoreUICategory`

Rolly Save Core UICategory · `#include "Navigation/RollySaveCoreUICategoryNav.h"`

One category a screen shows: a tab, a rail item, a hub tile, a page of a switcher.

| Member | Type | Default | Description |
|---|---|---|---|
| Name | `FText` | empty | The name shown. |
| Icon | [`ERollySaveCoreUIIcon`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiicon) | None | The icon before the name on rail items and hub tiles (None: no icon). |
| Summary | `FText` | empty | A short summary for hub tiles in words of its own; when empty, tiles list the Summary Parts. |
| Summary Parts | `TArray<FText>` | empty | The live values a hub tile lists when Summary is empty ("Fullscreen", "VSync Off"): as many on a line as fit, a dot between them, two lines at most. |
| Pending Count | `int32` | 0 | How many changes in the category wait for Apply: rail items and tiles show a dot (and tiles "1 change"). |
| Id | `FName` | None | A name that stays with the category while others come and go, so a screen that is open keeps the player on it when a category appears or disappears before it. None: the selection keeps its position instead. |

### `FRollySaveCoreUIColors`

Rolly Save Core UIColors · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

The 22 colour roles of a theme.

| Member | Type | Default | Description |
|---|---|---|---|
| Backdrop | `FLinearColor` | #000000 | The full-area layer behind a screen, over the game (with alpha). Text sits on it only when it passes contrast over a white and a black frame. |
| Scrim | `FLinearColor` | #000000 | The layer behind a dialog, over the screen below (dims it). |
| Surface | `FLinearColor` | #000000 | Panels, cards and the drawer: the base of most text. |
| Surface Raised | `FLinearColor` | #000000 | Dialogs, strips, the selected rail item and toasts. |
| Surface Sunken | `FLinearColor` | #000000 | Slider and switch tracks and wells. |
| Outline | `FLinearColor` | #000000 | Hairlines, panel edges and dividers (decoration, no contrast needed). |
| Outline Strong | `FLinearColor` | #FFFFFF | Boundaries of interactive controls (key cells, secondary buttons): 3:1 on Surface. |
| Text | `FLinearColor` | #FFFFFF | Names, values, titles and prompt labels: 4.5:1 on every surface. |
| Text Muted | `FLinearColor` | #FFFFFF | Descriptions, headings, hints and unselected tabs: 4.5:1 on Surface and Surface Raised. |
| Text Disabled | `FLinearColor` | #BCBCBC | Names and values of settings that cannot change right now: 3:1. |
| Accent | `FLinearColor` | #FFFFFF | Primary actions, selection marks, progress and small icons: 4.5:1 on Surface (it is also used as text). Keep it small: controls use Control. |
| On Accent | `FLinearColor` | #000000 | Text and icons on Accent (4.5:1), and the knob of a switch that is on (3:1 on Control). |
| Control | `FLinearColor` | #FFFFFF | Control affordances: switch tracks that are on, slider fills, active chevrons, current option dots (3:1 on Surface). |
| Focus | `FLinearColor` | #FFFFFF | The focus indicator: 3:1 on Surface and on Focus Fill. |
| Focus Fill | `FLinearColor` | #000000 | The fill of the focused row, tile or item (text keeps 4.5:1 on it). |
| Hover Fill | `FLinearColor` | #000000 | The fill under the mouse pointer (text keeps 4.5:1 on it). |
| Pending | `FLinearColor` | #FFFFFF | Dots that mark changes waiting for Apply: 3:1 on Surface. |
| Warning | `FLinearColor` | #FFFF00 | A restart is needed, caution: 4.5:1 (used as text). |
| Danger | `FLinearColor` | #FF0000 | Errors, destructive answers, refused keys: 4.5:1 (used as text). |
| Success | `FLinearColor` | #00FF00 | Confirmations (applied, saved): 4.5:1 (used as text). |
| Key Cap | `FLinearColor` | #000000 | The face of key and button caps. |
| Key Cap Text | `FLinearColor` | #FFFFFF | Labels inside key and button caps: 4.5:1 on Key Cap. |

### `FRollySaveCoreUIDialogOptions`

Rolly Save Core UIDialog Options · `#include "RollySaveCoreUITypes.h"`

What a dialog shows and how it ends.

| Member | Type | Default | Description |
|---|---|---|---|
| Title | `FText` | empty | The heading. |
| Message | `FText` | empty | The question or information under the heading. |
| Confirm Text | `FText` | empty | Text of the confirm button. Empty: "OK". |
| Cancel Text | `FText` | empty | Text of the cancel button. Empty: "Cancel". |
| Confirm Variant | [`ERollySaveCoreUIButtonVariant`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuibuttonvariant) | Primary | How the confirm button looks: Primary for the main answer, Danger for a destructive one. |
| Cancel Variant | [`ERollySaveCoreUIButtonVariant`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuibuttonvariant) | Secondary | How the cancel button looks. It is the safe answer: first and focused unless Focus Confirm is on. |
| Confirm Only | `bool` | false | Show only the confirm button (an information dialog). Back still closes it as Cancelled. |
| Focus Confirm | `bool` | false | Focus the confirm button when the dialog opens. Off: the cancel button, the safe choice. |
| Countdown Seconds | `float` | 0 | Seconds until the dialog answers itself. 0: no countdown. Counts real time, so it runs while the game is paused. At least 0. |
| Timeout Result | [`ERollySaveCoreUIDialogResult`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuidialogresult) | Cancelled | The answer when the countdown ends. |
| Countdown Format | `FText` | empty | How the seconds left are shown under the message; {Seconds} is replaced by the number (for example "Reverting in {Seconds} s"). Empty: "{Seconds} s left". |
| Countdown Spoken Format | `FText` | empty | How menu narration reads the seconds left, in words; {Seconds} is replaced by the number ("Reverting in {Seconds} seconds."). It is read when the dialog opens, every 5 seconds, then each second for the last 5, never within 2 seconds of the player's input. Empty: "{Seconds} seconds left." |

### `FRollySaveCoreUIElevation`

Rolly Save Core UIElevation · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

Shadows and the backdrop treatment.

| Member | Type | Default | Description |
|---|---|---|---|
| Shadow Color | `FLinearColor` | #00000099 | The colour of shadows under dialogs, cards and drawers (alpha 0: no shadows). |
| Backdrop Blur | `float` | 0 | Background blur behind a screen: 0 is off; otherwise its strength (one blur per screen; the backdrop becomes the fallback where blur is not available). From 0 to 50. |
| Backdrop Gradient To | `FLinearColor` | #00000000 | A second backdrop colour for a vertical gradient; alpha 0 means no gradient. |
| Backdrop Vignette | `float` | 0 | Darkening at the edges of the backdrop, 0 to 1. From 0 to 1. |

### `FRollySaveCoreUIGlyphOverride`

Rolly Save Core UIGlyph Override · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

Replaces how one key or button is shown.

| Member | Type | Default | Description |
|---|---|---|---|
| Family | [`ERollySaveCoreUIGlyphFamily`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiglyphfamily) | Keyboard Mouse | The family the override applies to (keyboard and mouse, or a gamepad family). |
| Key | `FKey` | None | The key or button. |
| Label | `FText` | empty | The short label on the cap (A, LB, Esc). Empty keeps the built-in label. |
| Icon | `FSlateBrush` |  | An image instead of the label (your own button art). Leave its Image empty to draw the label. |
| Round | `bool` | false | Draw a circle (face buttons) instead of a key cap. |
| Tint | `FLinearColor` | #00000000 | The label's colour while Glyph Tints is on; alpha 0 keeps Key Cap Text. A tint below 3:1 on Key Cap is not used. |

### `FRollySaveCoreUIGlyphTintColors`

Rolly Save Core UIGlyph Tint Colors · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

The family colours of gamepad face buttons (the controllers' own), drawn only while the theme's Glyph Tints is on. A tint below 3:1 on Key Cap is never drawn: that glyph uses Key Cap Text, and the theme's checks say so.

| Member | Type | Default | Description |
|---|---|---|---|
| Xbox A | `FLinearColor` | #FFFFFF | The Xbox A button (green). |
| Xbox B | `FLinearColor` | #FFFFFF | The Xbox B button (red). |
| Xbox X | `FLinearColor` | #FFFFFF | The Xbox X button (blue). |
| Xbox Y | `FLinearColor` | #FFFFFF | The Xbox Y button (yellow). |
| PlayStation Cross (`PlayStationCross`) | `FLinearColor` | #FFFFFF | The PlayStation cross (blue). |
| PlayStation Circle (`PlayStationCircle`) | `FLinearColor` | #FFFFFF | The PlayStation circle (red). |
| PlayStation Square (`PlayStationSquare`) | `FLinearColor` | #FFFFFF | The PlayStation square (pink). |
| PlayStation Triangle (`PlayStationTriangle`) | `FLinearColor` | #FFFFFF | The PlayStation triangle (green). |

### `FRollySaveCoreUIKeyboardRows`

Rolly Save Core UIKeyboard Rows · `#include "Search/RollySaveCoreUIKeyboardLayouts.h"`

The letter rows of an on-screen keyboard for a culture, as Project Settings > Rolly Save Core UI > Keyboard Layouts names them.

| Member | Type | Default | Description |
|---|---|---|---|
| Rows | `TArray<FString>` | empty | The letter rows, top to bottom, each as its keys' characters in order ("qwertyuiop"). The digits row comes first by itself. |

### `FRollySaveCoreUIListMessage`

Rolly Save Core UIList Message · `#include "Components/RollySaveCoreUIListMessage.h"`

A line a list shows in place of its rows: why it is empty, that it is being read, or that reading failed.

| Member | Type | Default | Description |
|---|---|---|---|
| Text | `FText` | empty | What the list says ("No saves yet."). Empty: no message, the rows show. |
| Icon | [`ERollySaveCoreUIIcon`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiicon) | None | An icon before the text (None: none). A busy message shows the spinner there instead. |
| Busy | `bool` | false | Something is being read or made: the spinner turns before the text, and the message shows only once it has lasted the Busy Delay (250 ms by default), so a quick read never flashes. |
| Action Label | `FText` | empty | The words of a button under the text ("Try Again"), which takes focus; empty: no button. |

### `FRollySaveCoreUIMotion`

Rolly Save Core UIMotion · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

Durations, easings and distances of every animation.

| Member | Type | Default | Description |
|---|---|---|---|
| Motion Scale | `float` | 1 | Multiplies every duration and distance; 0 is reduced motion (movement snaps, fades take 100 ms or less). From 0 to 2. |
| Duration Fast | `float` | 0.1 | Focus changes, hover, the switch knob, value feedback (seconds). From 0 to 1. |
| Duration Standard | `float` | 0.18 | Screens, cards and dialogs entering, page changes (seconds). From 0 to 1. |
| Duration Slow | `float` | 0.28 | The drawer sliding (seconds). From 0 to 2. |
| Ease Enter | [`ERollySaveCoreUIEase`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiease) | Cubic Out | Things arriving. |
| Ease Exit | [`ERollySaveCoreUIEase`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiease) | Cubic In | Things leaving (at 0.7 of the enter duration). |
| Ease Move | [`ERollySaveCoreUIEase`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiease) | Cubic in Out | Things moving between places. |
| Overshoot | `bool` | false | A small overshoot on focus pops and tiles. |
| Enter Distance | `float` | 16 | How far things rise or slide when they enter. From 0 to 200. |

### `FRollySaveCoreUINarrationLine`

Rolly Save Core UINarration Line · `#include "Narration/RollySaveCoreUINarrationTypes.h"`

One line for the narration voice.

| Member | Type | Default | Description |
|---|---|---|---|
| Text | `FText` | empty | What is said, with its commas and full stops written in, so every voice pauses at the same places. |
| Culture | `FString` | empty | The culture of the text ("de", "pt-BR"); empty is the interface language. A voice of that culture reads it where one exists. |
| Class | [`ERollySaveCoreUINarrationClass`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuinarrationclass) | Interrupt | How the line takes its turn. |
| Player Index | `int32` | -1 | The local player whose input or screen caused the line (0 for the first); INDEX_NONE for none in particular. |

### `FRollySaveCoreUINarrationVoice`

Rolly Save Core UINarration Voice · `#include "Narration/RollySaveCoreUINarrationTypes.h"`

A voice menu narration can use, as a player picks one.

| Member | Type | Default | Description |
|---|---|---|---|
| Id | `FString` | empty | The saved name: ScreenReader, Windows:\<voice id>, Engine or Game. |
| Name | `FText` | empty | The name players read ("Screen Reader", "Microsoft Zira", "Built-in Voice"). |
| Culture | `FString` | empty | The culture the voice speaks ("en-US"); empty when it speaks any (a screen reader). |
| Own Voice | `bool` | true | False for the screen reader, which speaks only while the player runs one; true for voices the game plays itself. |
| Has Rate | `bool` | true | The voice's speed can be set (Narration Speed applies). |
| Has Volume | `bool` | true | The voice plays through the game's audio (Narration Volume applies). |

### `FRollySaveCoreUIPromptEntry`

Rolly Save Core UIPrompt Entry · `#include "Components/RollySaveCoreUIPromptBar.h"`

One prompt of a prompt bar: what it does, the keys it shows and what it says.

| Member | Type | Default | Description |
|---|---|---|---|
| Id | `FName` | None | Names the prompt: On Prompt Clicked passes it back, and the prompt keeps its widget while the Id stays. |
| Gamepad Key | `FKey` | None | The key shown while the player uses a gamepad, drawn in the player's gamepad family. |
| Keyboard Key | `FKey` | None | The key shown while the player uses keyboard and mouse (or touch). |
| Label | `FText` | empty | What the key does, in words. An empty label hides the prompt. |
| Enabled | `bool` | true | An unavailable prompt stays in place, dimmed, and ignores clicks, so the bar does not jump. |
| Second Gamepad Key | `FKey` | None | A second gamepad key shown after the first (a pair: the previous and next category buttons). |
| Second Keyboard Key | `FKey` | None | A second keyboard key shown after the first. |
| Priority | `int32` | 0 | When the bar runs out of room (after wrapping to its lines), prompts with the lowest priority go first. |
| Always Shown | `bool` | false | Never dropped for room (the row's action, Back). |
| Reserved Labels | `TArray<FText>` | empty | Labels the prompt shows at other times (Back's "Close" and "All settings", each row's action): it keeps the width of the widest, so the prompts beside it never move while the screen is open. |
| Keep Place | `bool` | false | Keeps the prompt's place while its label is empty (nothing to do now) instead of letting the others move into it. |

### `FRollySaveCoreUIShape`

Rolly Save Core UIShape · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

Corner radii, borders and focus.

| Member | Type | Default | Description |
|---|---|---|---|
| Radius Small | `float` | 4 | Glyph caps, buttons, chevron hit areas and strips. At least 0. |
| Radius Medium | `float` | 6 | Rows and rail items. At least 0. |
| Radius Large | `float` | 8 | Panels, cards, dialogs, drawers, tiles and toasts. At least 0. |
| Hairline Width | `float` | 1 | Panel edges and dividers. At least 0. |
| Control Outline Width | `float` | 1 | Outlines of key cells and secondary buttons. At least 0. |
| Focus Style | [`ERollySaveCoreUIFocusStyle`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuifocusstyle) | Ring | How focus is drawn. Ring meets WCAG 2.4.13; High Contrast always uses Ring. |
| Focus Width | `float` | 2 | Thickness of the focus ring, bar or brackets (at least 2). From 1 to 8. |
| Focus Glow | `float` | 0 | A soft glow around the focus ring, in the Focus colour at this opacity (0: none; the Neon preset uses 0.4). Never in high contrast. From 0 to 1. |

### `FRollySaveCoreUISizes`

Rolly Save Core UISizes · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

Spacing steps and component sizes at Standard density (the density multiplies them inside components).

| Member | Type | Default | Description |
|---|---|---|---|
| Space 1 | `float` | 4 | Spacing step 1 (4). At least 0. |
| Space 2 | `float` | 8 | Spacing step 2 (8). At least 0. |
| Space 3 | `float` | 12 | Spacing step 3 (12). At least 0. |
| Space 4 | `float` | 16 | Spacing step 4 (16). At least 0. |
| Space 5 | `float` | 24 | Spacing step 5 (24). At least 0. |
| Space 6 | `float` | 32 | Spacing step 6 (32). At least 0. |
| Space 7 | `float` | 48 | Spacing step 7 (48). At least 0. |
| Space 8 | `float` | 64 | Spacing step 8 (64). At least 0. |
| Space 9 | `float` | 96 | Spacing step 9 (96). At least 0. |
| Row Height | `float` | 56 | The least height of a row; a row grows when its name needs two lines. At least 24. |
| Row Gap | `float` | 2 | The space between rows. At least 0. |
| Control Height | `float` | 48 | The height of buttons and tabs. At least 24. |
| Glyph Height | `float` | 32 | The height of glyph caps; round caps are as wide. At least 16. |
| Icon Size | `float` | 24 | Inline icons (20 in facts, 16 in badges). At least 8. |
| Icon Size Large | `float` | 40 | Large icons (hub tiles). At least 8. |
| Value Width | `float` | 380 | The value column of a row. At least 120. |
| Detail Width | `float` | 440 | The side detail panel. At least 0. |
| Rail Width | `float` | 300 | The side rail. At least 120. |
| Card Width | `float` | 880 | The centered panel. At least 320. |
| Drawer Width | `float` | 560 | The side drawer. At least 320. |
| Dialog Width | `float` | 640 | Dialogs (they grow for long buttons, then wrap). At least 240. |
| Tile Size | `FVector2D` | 300, 200 | Hub tiles. |
| Tile Summary Size | `float` | 14 | The size of a hub tile's summary (Slate size at Standard density), in the Caption role's typeface, two lines at most. From 10 to 40. |
| Toast Width | `float` | 420 | Toasts. At least 200. |
| Screen Margin | `FMargin` | 96, 64, 96, 48 | Margins of a screen on tall and wide areas (not scaled by density). |
| Compact Screen Margin | `FMargin` | 40, 24, 40, 20 | Margins on short or narrow areas: split screen, small windows (not scaled by density). |
| Tiny Screen Margin | `FMargin` | 16, 12, 16, 12 | Margins on tiny areas (not scaled by density). |
| Content Max Width | `float` | 1640 | The widest a screen's content grows (not scaled by density). At least 400. |
| Max Layout Aspect | `float` | 2.37 | Wider areas lay out in a centred region this many times as wide as it is high (21:9); the backdrop fills the rest. From 1.0 to 4.0. |

### `FRollySaveCoreUISounds`

Rolly Save Core UISounds · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

The sounds of the interface; all empty by default. Give them the Sound Class your Effects or UI volume controls.

| Member | Type | Default | Description |
|---|---|---|---|
| Navigate | `FSlateSound` |  | Focus moves because of the player's input (not when a screen opens). |
| Change | `FSlateSound` |  | A value changes. |
| Accept | `FSlateSound` |  | A button, action or entry is pressed. |
| Back | `FSlateSound` |  | A level or screen closes with Back. |
| Error | `FSlateSound` |  | Something is refused (a reserved key, an unavailable setting). |
| Open | `FSlateSound` |  | A screen, drawer or dialog opens. |
| Close | `FSlateSound` |  | A screen or drawer closes (not by Back). |
| Notify | `FSlateSound` |  | A notification appears. |

### `FRollySaveCoreUITemplateContext`

Rolly Save Core UITemplate Context · `#include "Templates/RollySaveCoreUITemplateTypes.h"`

What a template lays itself out for: the area, the level shown and the player.

| Member | Type | Default | Description |
|---|---|---|---|
| Area | [`FRollySaveCoreUIArea`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuiarea) |  | The area the screen fills, sorted into size classes. |
| Category Level | `bool` | false | True while the categories level of a two-level template shows (the rail has focus, the hub's tiles show). |
| Touch | `bool` | false | True while the player uses touch. |
| Player Count | `int32` | 1 | How many local players share the screen (split screen above one). |
| Dock Side | [`ERollySaveCoreUIDrawerSide`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuidrawerside) | Right | The side a docked panel goes to: Project Settings' side, or the outer edge of the player's part of the screen. |
| Has Preview | `bool` | false | The category shown has a preview picture to show (its own or a row's); a template keeps room for previews only then. |
| Search | `bool` | false | Search results or typing show in the categories' place. |
| Typing | `bool` | false | A search is being typed: the detail has nothing to show and hides. |
| Keyboard | `bool` | false | The on-screen keyboard shows (a gamepad or touch player types a search): the template's Keyboard slot holds it. |
| Single Category | `bool` | false | The screen shows one category and hides the navigation of a single one (its Hide Single Category): the template shows no category navigation and one level. |

### `FRollySaveCoreUITemplateTraits`

Rolly Save Core UITemplate Traits · `#include "Templates/RollySaveCoreUITemplateTypes.h"`

What a template decides for a context: which navigation shows, how many levels there are, how the detail and the title show, and the room rows and prompts have. The screen builds and drives its parts to match.

| Member | Type | Default | Description |
|---|---|---|---|
| Navigation | [`ERollySaveCoreUINavigationKind`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuinavigationkind) | Tabs | The category navigation in the Navigation slot. |
| Switcher Style | [`ERollySaveCoreUISwitcherStyle`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiswitcherstyle) | Full | How a switcher shows the category (when Navigation is a switcher). |
| Navigation on Title Line | `bool` | false | The navigation ends the title line, after the header's actions and centred on that line with them (the couch hub's pages). Where the widest category's name, the actions and the navigation do not fit the header 16 units apart, the navigation takes a line of its own 8 under the title on every page, its right end at the list's; a compact page (Header Compact Page) keeps the navigation on the line and ends the title with an ellipsis instead, so its list keeps its rows. A hidden restart notice keeps its room on the title line only where the whole line fits. Off, the navigation shows in the template's Navigation slot. |
| Two Levels | `bool` | false | Two levels (categories, then a list): Back goes from the list to the categories. |
| Start at Categories | `bool` | false | Focus opens on the categories (the rail, the hub's tiles) rather than in the list. |
| Back to Categories Label | `FText` | empty | What the Back prompt says in the list of a two-level template ("Categories", "All settings"). |
| Close Label | `FText` | empty | What the Back prompt says where it closes the screen (empty: "Back"); the drawer says "Close". |
| Reset Names Category | `bool` | true | The Reset prompt names the category ("Reset Controls"); off, it reads "Reset Tab" (the tabs, where the category is the tab in view). |
| Option Dots | `bool` | false | Choices show a dot per option under their value while the theme leaves it to the template (the couch hub, read from far away). |
| Detail Form | [`ERollySaveCoreUIDetailForm`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuidetailform) | Panel | How the detail shows. |
| Detail Lines | `int32` | 2 | Lines of description a strip or band shows. |
| Detail Facts | `bool` | true | The strip or band also shows a line of facts (when there is room). |
| Preview Column | `bool` | false | The focused setting's preview shows in the template's Preview slot instead of the detail. |
| Preview Width | `float` | 0 | The preview's width in layout units (the detail panel's inner width, or the preview column's). |
| Header | [`ERollySaveCoreUIHeaderStyle`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuiheaderstyle) | Display | How the title shows. |
| Show Title | `bool` | true | The title shows (short areas drop it). |
| Category Title | `bool` | false | The category's name shows above the list (the side rail). |
| List Panel | `bool` | true | The list sits on a panel of its own (Surface, a hairline); off when the template's card is the surface. |
| Category Prompt | `bool` | true | A Category prompt (the switch keys as a pair) joins the footer; the tabs show their keys themselves. |
| Badge in Footer | `bool` | false | The player badge sits in the footer (the header is hidden). |
| Compact Navigation | `bool` | false | Navigation of the short-area size (rail items 48, switcher 56, tabs 40 on Tiny heights). |
| Compact Tabs | `bool` | false | Tabs of the Tiny-height size. |
| Tile Columns | `int32` | 4 | Hub columns (Tiles navigation); 0 turns the tiles into a list. |
| Tile Summaries | `bool` | true | Tiles show their summaries. |
| Row Width | `float` | 0 | The width of the list's rows in layout units (0: unknown): rows stack below 640 and get their value width from it. |
| Value Share | `float` | 0 | The share of a row the value takes (0: the theme's Value Width). |
| Footer Width | `float` | 0 | The footer's width in layout units (0: unknown): the prompts get what the pending counter leaves, and drop by priority past Footer Lines. |
| Header Width | `float` | 0 | The width of the line the title stands on, in layout units (0: the Footer Width): a hidden restart notice keeps its room on that line only where the title, the header's actions and the notice fit it. A side rail's title stands in the rail's column, narrower than its footer. At least 0. |
| Footer Lines | `int32` | 2 | Lines the footer's prompts may take before the least important ones drop: two, one on Tiny areas, where the list needs the room. At least 1. |
| Backdrop | [`ERollySaveCoreUIBackdropMode`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuibackdropmode) | Full | How the backdrop covers the game. |
| Backdrop Edge Extent | `float` | 0 | Edge backdrops: how far the docked panel reaches in from its side, in layout units. |
| Pauses Game | `bool` | true | The screen pauses a standalone game while it shows (the drawer never does). |
| Search Entry Form | [`ERollySaveCoreUISearchEntryForm`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuisearchentryform) | Field | How the search entry shows. |

### `FRollySaveCoreUITextRoles`

Rolly Save Core UIText Roles · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

The ten text roles.

| Member | Type | Default | Description |
|---|---|---|---|
| Display | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Screen titles. |
| Title | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Page, dialog, detail and tile titles. |
| Heading | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Section headings in lists. |
| Tab | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Tabs and rail items. |
| Label | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Row names. |
| Value | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Row values. |
| Button | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Buttons. |
| Body | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Descriptions and dialog messages. |
| Caption | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Prompt labels, facts, hints, column titles, toasts. |
| Key Cap | [`FRollySaveCoreUITextStyle`](https://rolly-docs.pages.dev/save/reference/structs/#frollysavecoreuitextstyle) |  | Text inside key and button caps. |

### `FRollySaveCoreUITextStyle`

Rolly Save Core UIText Style · `#include "Theme/RollySaveCoreUIThemeTypes.h"`

How one text role looks.

| Member | Type | Default | Description |
|---|---|---|---|
| Slot | [`ERollySaveCoreUIFontSlot`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuifontslot) | Primary | Which of the theme's fonts the role uses. |
| Typeface | `FName` | Regular | The typeface in that font (Regular, Medium, Bold, Black, BoldCondensed, Italic and the others the font has). |
| Size | `float` | 18 | The size at Standard density (Slate size: points at 96 DPI). Every role must measure at least 18 px at 1080p (26 px at Large density). From 6 to 200. |
| Tracking | `int32` | 0 | Letter spacing in thousandths of an em. From -200 to 400. |
| Case | [`ERollySaveCoreUITextCase`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuitextcase) | As Written | As written, or in capitals (only for roles of one or two words). |
| Line Height | `float` | 1 | Line height as a multiple of the font's own (1.3 on Body gives the 1.5 em text blocks need). From 0.8 to 2.5. |

### `FRollySaveCoreUIToastOptions`

Rolly Save Core UIToast Options · `#include "RollySaveCoreUITypes.h"`

What a toast says.

| Member | Type | Default | Description |
|---|---|---|---|
| Message | `FText` | empty | The message, up to three lines. Longer text stays longer. |
| Kind | [`ERollySaveCoreUIToastKind`](https://rolly-docs.pages.dev/save/reference/enums/#erollysavecoreuitoastkind) | Info | What the toast is about. |
