NO MOM
I CANT PAUSE.
Scientific Number Tools Documentation
Support
Browse documentation

Save and restore numeric values

Use native SaveGame fields for numbers; let the game own durable protection and storage.

On this page

Choose who owns each part

Scientific Number Tools represents numeric values and protects Safe values while they are in memory. Unreal SaveGame owns local save objects and serialization. A standard local save can be enough for Normal or Packed values when the game does not require tamper protection or remote authority. If the game needs those policies, its chosen provider owns storage, keys, account identity and authority. SNT does not open files, create a persistence session or encrypt a SaveGame record.

Save Normal and Packed with Unreal

  1. Add FScientificNumber or FScientificNumberPacked properties to your USaveGame Blueprint or C++ class. Keep the scientific representation; do not save a formatted display string or convert to double.
  2. Use Unreal’s Save Game to Slot and Load Game from Slot nodes and check their results. Packed has lower precision and range; choose it for a suitable use, not as the authoritative economy value.
  3. Test with a fresh game process. C++ archives that filter SaveGame properties require the relevant fields on the SaveGame object and numeric type to be marked for saving.

Save a Safe value in a local SaveGame

  1. Add a Scientific Number property to your own SaveGame Blueprint. It stores the logical value, so this property is Normal even when your live variable is Safe.
  2. Call Try Prepare Safe Number for Save (or its Context-Bound variant), check success, and assign the returned number to that SaveGame property. Save the object with Unreal’s save node and check its result.
  3. Load the SaveGame object, read the property and call the corresponding Try Restore node. Check success and numeric state before applying the restored value.
  4. Context-Bound preparation requires the source GUID/name. Restoration takes a valid destination GUID/name; use that destination context for subsequent reads. Its GUID can be new for this process and does not have to match the previous session.

This preserves the amount and rebuilds memory protection. It does not authenticate the saved file. If ordinary local storage is sufficient for your game, no external provider is needed.

Add durable authentication when required

The following variant uses the game’s own persistence/protection API. SNT has no provider selector or adapter to configure.

Safe encrypted fields protect the value in current-process memory and are transient. Saving that envelope directly does not make it portable.

  1. Call Try Prepare Safe Number for Save or Try Prepare Context-Bound Safe Number for Save. Check success and retain the returned logical FScientificNumber.
  2. Pass that number to your chosen Blueprint or C++ provider. The provider owns the durable format, encryption/authentication, key provisioning, storage, authority and policy. Save the provider’s protected output in your SaveGame object or backend.
  3. On load, let the provider verify and deprotect its record first. If verification fails, stop without changing gameplay state.
  4. Call Try Restore Safe Number from Save or Try Restore Context-Bound Safe Number from Save on the authenticated logical number. Check success; Context-Bound restoration also takes the intended in-memory GUID and name.
  5. Apply the value to gameplay only after all provider and restoration checks succeed.
What these nodes guarantee

Prepare checks the Safe value's local authenticity and returns its logical number. Restore creates a new protected value in memory. Neither node protects the record on disk or proves that a loaded number came from an authentic provider. The output pin is ordinary, readable `FScientificNumber` data.

Blueprint node names

Value Prepare Restore
Scientific Number Assign to a SaveGame property Read the property
Packed Scientific Number Assign to a SaveGame property Read the property
Safe Scientific Number Try Prepare Safe Number for Save Try Restore Safe Number from Save
Context-Bound Safe Scientific Number Try Prepare Context-Bound Safe Number for Save Try Restore Context-Bound Safe Number from Save

Use Unreal SaveGame for Normal and Packed when local serialization meets your game’s needs. The Safe Prepare/Restore nodes only convert between in-memory Safe values and their logical number; they do not provide file handling, a provider selector, authentication for stored records or durable storage. Add a game-owned provider only when the game requires durable protection, remote authority or another policy.

Provider boundary

A provider may be Blueprint or C++ and belongs to your game. It owns its format, keys, authentication, storage, account identity, authority and recovery. Verify and deprotect loaded records before calling Restore, check every result and apply the number only after those checks succeed. SNT does not ship or select a persistence provider.

No Mom I Cant Pause · Contact support · Discord

Scientific Number Tools 1.0.0 · Source documentation ·