OSL Secure Save View on Asset Store (opens in new tab)

Package details

Latest version
1.2.0
Last updated
First released
Unity version
6000.3.12 or later
Package size
79 KB
Files
21
Views in the past week
7

Price tracking

Last checked
Tracked since
Lowest recorded
$17.49 on

Keywords

OSL Secure Save

by OngsooLabs (opens in new tab)

No ratings yet

A UGS Cloud Save write-validation workflow with a durable local pending-write queue, bounded retry and dead-letter recovery, and server-side type, range, delta, and operation rules.

Price $24.99

Buy on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for OSL Secure Save, 6 months Current $24.99; lowest $17.49; highest $24.99 in this period. $0 $12.5 $25 Jul Aug Sep Oct Nov Version 1.1.0 released 20 Jul 2026 v1.1.0 Version 1.1.2 released 24 Aug 2026 v1.1.2 Version 1.2.0 released 31 Aug 2026

Asset preview

1 / 6

OSL Secure Save screenshot 1

OSL Secure Save screenshot 1

About this asset

OSL Secure Save is for Unity Gaming Services projects that want Cloud Save writes checked outside the game client. Calls made through `OSLSaveManager` go to the included Cloud Code script, where per-key type, range, delta, and operation rules are evaluated before data is written.

Why / Key Benefits

- Move rule checks off the client: Evaluate configured write rules in UGS Cloud Code before committing through the package workflow.

- Control each key: Define expected type, minimum and maximum values, maximum additive delta, and allowed `AddOnly`, `Replace`, or `Both` operations.

- Configure without a custom server: Deploy the included `osl_master_save.js` endpoint and use UGS services instead of hosting a separate backend.

- Change rules independently: Load `osl_secure_save_rules` from Remote Config when available, with an embedded fallback rule set.

- Recover delivery failures: Persist package API writes through an authenticated, versioned local queue; retry transient failures and preserve exhausted or permanent failures for an explicit recovery decision.

Typical Workflow

1. Define validation rules in the OSL Rule Builder.

2. Deploy `osl_master_save.js` to UGS Cloud Code.

3. Optionally publish the generated rule JSON as `osl_secure_save_rules` in Remote Config.

4. Write through `OSLSaveManager`; Cloud Code validates and then stores accepted data in Cloud Save.

5. Read the resulting values from the Default access class through the package API.

Requirements

- Minimum Unity Version: Unity 2021.3 LTS

- Tested Unity Versions: Unity 2021.3.45f2 and Unity 6000.3.12f1 (package-isolation import and compile)

- Required UGS services/packages: Core, Authentication, Cloud Code, and Cloud Save

- Optional: UGS Remote Config for remotely managed rule JSON

Limitations / Scope

- Validation applies to writes sent through the package's Cloud Code path. Because the included script stores data in Cloud Save's Default access class, the host project must avoid or separately restrict direct client write paths.

- This is not a general local save-file system and does not provide complete anti-cheat coverage.

- The local retry queue uses separate encryption and integrity keys, atomic replacement, last-known-good backup recovery, and corrupted-file quarantine. It is a recovery mechanism and casual-tamper deterrent, not a secure server-side data store.

- The built-in key provider preserves compatibility with existing queues. Projects that require platform-backed key storage can inject `IOSLQueueKeyProvider` before first accessing `OSLSaveManager.Instance`.

Documentation & Support

https://ongsoolabs.github.io/

From the publisher's Asset Store listing.

Technical details

- Write path: `OSLSaveManager` calls `CloudCodeService.CallEndpointAsync("osl_master_save")`; accepted values are written by the JavaScript endpoint through `cloudSaveApi.setItem()`.

- Read path: Package reads use `CloudSaveService` directly and read the Default access class, matching the namespace written by the Cloud Code script.

- Validation rules: Per-key rules check data type, minimum/maximum value, maximum delta for additive operations, and allowed `AddOnly`, `Replace`, or `Both` operations.

- Rule source: The endpoint attempts to load `osl_secure_save_rules` from Remote Config and falls back to its embedded JSON rules when Remote Config is unavailable.

- Client API: `OSLSaveManager` exposes typed helpers including `AddInt`, `SetInt`, `SetString`, `SetBool`, and `GetAsync<T>`.

- Queue persistence: Each mutation is serialized with invariant value formatting, authenticated with HMAC-SHA256, encrypted with AES-CBC using a random IV, and committed through a temporary file plus primary replacement. The previous primary is retained as the last-known-good backup.

- Recovery: Unreadable primary and backup files are moved to timestamped quarantine paths. Legacy 1.1.x queue files migrate to the versioned envelope, and an interrupted temporary file does not replace a valid primary.

- Retry behavior: Transient errors retry up to five failed delivery attempts by default. Validation, permanent, configuration, serialization, and retry-exhausted operations are persisted as dead letters until the host retries or explicitly removes them.

- Key provider: `IOSLQueueKeyProvider` separates encryption and integrity key responsibilities. `OSLSaveManager.CreateWithQueueKeyProvider` must be called before first accessing the default manager instance.

- Boundary: The package validates its Cloud Code write path. It does not itself configure UGS Access Control to prevent other client code from writing directly to the Default access class.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
6000.3.12f1 Compatible Compatible Compatible

Supports Built-in, URP, and HDRP.

No renderer-specific assets are required.

Some runtime features may require Unity Gaming Services packages depending on your integration setup.

As listed on the Asset Store.