SigChain Guard SDK
Hardware-level anti-cheat and app integrity verification for Unity VR games. The SDK handles everything automatically — you make one call, the bridge does the rest.
The Java bridge fires before Unity finishes loading. It collects hardware attestation data, encrypts and signs the payload, and sends it to the SCG backend. Your game receives a simple pass or fail result. No security logic runs client-side — the server decides everything.
System requirements
Installing the package
The SCG Unity package is available from your dashboard after completing app verification.
You must complete BTKV verification in the dashboard before the SDK will function. An unverified API key will cause all validation calls to return CHECK_DASHBOARD.
First integration
2using UnityEngine;
3
4public class GameManager : MonoBehaviour
5{
6 async void Start()
7 {
8 SCGResult result = await SCG.Validate();
9
10 switch (result)
11 {
12 case SCGResult.PASSED:
13 // your success logic here
14 break;
15 case SCGResult.FAILED:
16 // your fail logic here — kick, show error, etc
17 break;
18 case SCGResult.NO_CONNECTION:
19 // your offline logic here
20 break;
21 default:
22 // handle other results — see SCGResult reference below
23 break;
24 }
25 }
26}
SDK Methods
All public methods available on the SCG static class. Click any method to expand full documentation.
2if (result == SCGResult.PASSED)
3{
4 // your success logic here
5}
2if (ps == SCGResult.PHOTON_ONLINE)
3{
4 // your matchmaking logic here
5}
6else
7{
8 // your offline/fallback logic here
9}
Maximum once per 5 minutes per player. Enforced both in the bridge and on the backend — editing client code cannot bypass the backend limit.
2SCGResult check = await SCG.ReValidate();
3if (check == SCGResult.FAILED)
4{
5 // your logic for a failed re-validation here
6}
HWID Tracking must be enabled in your dashboard for this method to function. Calling it with tracking disabled returns an empty string.
2if (!string.IsNullOrEmpty(hwid))
3{
4 // store or display hwid as needed
5 Debug.Log("Player HWID: " + hwid);
6}
2string hwid = SCG.ReturnHwid();
3// use hwid however you need
SCGResult codes
Every possible value returned by SCG methods. Use the search above to look up a specific code.
Search any error
Use the search bar at the top of the page to look up any SCGResult code, error message, or integration issue instantly.
You can search by result code name, severity level, or keywords from the error description. Try searching "fail", "connection", "tampered", or any specific code like "QUOTA_EXCEEDED".