Class GlobalSettings
Project-wide configuration asset for the anti-cheat system. Loaded as a singleton from RELATIVE_SETTINGS_PATH.
Inheritance
Namespace: GUPS.AntiCheat.Settings
Assembly: cs.temp.dll.dll
Syntax
public class GlobalSettings : ScriptableObject
Examples
Read the active settings asset at runtime:
using GUPS.AntiCheat.Settings;
var settings = GlobalSettings.Instance;
bool allowAnyOwner = settings.PlayerPreferences_Allow_Read_Any_Owner;
In the editor open Project Settings > GuardingPearSoftware > AntiCheat to edit the asset.
Fields
Android_AllowAllAppStores
When true, any package installation source is accepted; otherwise only sources listed in
Android_AllowedAppStores / Android_AllowedCustomAppStores.
Declaration
public bool Android_AllowAllAppStores
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_AllowedAppStores
Allowed well-known package installation sources. Installations from other sources raise a notification.
Declaration
public List<EAppStore> Android_AllowedAppStores
Field Value
| Type | Description |
|---|---|
| List<EAppStore> |
Android_AllowedCustomAppStores
Additional allowed installer package names (e.g. com.android.vending) for stores not covered by
Android_AllowedAppStores.
Declaration
public List<String> Android_AllowedCustomAppStores
Field Value
| Type | Description |
|---|---|
| List<String> |
Android_AppFingerprint
Expected app fingerprint used to verify the app's identity.
Declaration
public String Android_AppFingerprint
Field Value
| Type | Description |
|---|---|
| String |
Android_AppFingerprintAlgorithm
Hash algorithm used to compute and validate the app fingerprint. Recommended: SHA-256.
Declaration
public EHashAlgorithm Android_AppFingerprintAlgorithm
Field Value
| Type | Description |
|---|---|
| EHashAlgorithm |
Android_AppHashAlgorithm
Hash algorithm used to compute and verify the app hash. Recommended: SHA-256.
Declaration
public EHashAlgorithm Android_AppHashAlgorithm
Field Value
| Type | Description |
|---|---|
| EHashAlgorithm |
Android_AppHashEndpoint
HTTP GET endpoint that returns the expected app hash. May contain the {version} placeholder,
which is replaced with
Declaration
public String Android_AppHashEndpoint
Field Value
| Type | Description |
|---|---|
| String |
Android_BlacklistedApplications
Installed Android applications considered hostile; presence raises a notification.
Declaration
public List<String> Android_BlacklistedApplications
Field Value
| Type | Description |
|---|---|
| List<String> |
Android_BlacklistedLibraries
Libraries explicitly disallowed inside the application; any library in the list raises a notification.
Declaration
public List<String> Android_BlacklistedLibraries
Field Value
| Type | Description |
|---|---|
| List<String> |
Android_Enable_Development
When true, the Android app is validated (appstore, libraries, applications, signature, ...) also
on development builds. Recommended: false.
Declaration
public bool Android_Enable_Development
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_UseBlacklistingforApplication
When true, the device is scanned for blacklisted apps (see Android_BlacklistedApplications).
Declaration
public bool Android_UseBlacklistingforApplication
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_UseWhitelistingForLibraries
When true, enable whitelisting / blacklisting for loaded libraries; otherwise any library is allowed.
Declaration
public bool Android_UseWhitelistingForLibraries
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_VerifyAppFingerprint
When true, validate the app's signing fingerprint against Android_AppFingerprint.
Declaration
public bool Android_VerifyAppFingerprint
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_VerifyAppHash
When true, compare the running app's hash against a remote-hosted reference hash to detect
tampering or repackaging.
Declaration
public bool Android_VerifyAppHash
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Android_WhitelistedLibraries
Libraries explicitly allowed inside the application; any library not in the list raises a notification.
Declaration
public List<String> Android_WhitelistedLibraries
Field Value
| Type | Description |
|---|---|
| List<String> |
Desktop_Debugger_ReportManagedOnly
When true, raise a notification when only managed System.Diagnostics.Debugger.IsAttached
fires without a matching native debugger.
Declaration
public bool Desktop_Debugger_ReportManagedOnly
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_DetectKernelModeDebugger
When true, detect active kernel-mode debuggers (WinDbg kernel mode, Syser, SoftICE). Currently
effective only on Windows.
Declaration
public bool Desktop_DetectKernelModeDebugger
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_DetectModLoader
When true, scan for well-known mod loaders (BepInEx, MelonLoader, UnityDoorstop, ...) via
ModLoaderDetector.
Declaration
public bool Desktop_DetectModLoader
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_DetectUserModeDebugger
When true, detect attached user-mode debuggers (Visual Studio, Rider, dnSpy, x64dbg, OllyDbg,
ptrace, ...) via DebuggerDetector.
Declaration
public bool Desktop_DetectUserModeDebugger
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_DetectVirtualMachine
When true, detect virtual-machine environments (VirtualBox, VMware, Parallels, Hyper-V, ...) via
VirtualEnvironmentDetector.
Declaration
public bool Desktop_DetectVirtualMachine
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_Enable_Development
When true, desktop tampering detectors (mod loader, debugger, virtual environment) also run on
development builds and inside the Unity editor. Recommended: false.
Declaration
public bool Desktop_Enable_Development
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Desktop_ModLoader_AssemblyPrefixes
Case-insensitive managed-assembly name prefixes attributed to mod loaders. Remove entries you ship legitimately (e.g. HarmonyLib).
Declaration
public List<String> Desktop_ModLoader_AssemblyPrefixes
Field Value
| Type | Description |
|---|---|
| List<String> |
Desktop_ModLoader_FileNames
File or folder names attributed to mod loaders when found next to the game executable. Folders end with '/'.
Declaration
public List<String> Desktop_ModLoader_FileNames
Field Value
| Type | Description |
|---|---|
| List<String> |
Desktop_VirtualMachine_BiosKeywords
Substrings indicating a virtual machine when found in BIOS / DMI / hardware model strings. Appended to the platform probe's built-in defaults.
Declaration
public List<String> Desktop_VirtualMachine_BiosKeywords
Field Value
| Type | Description |
|---|---|
| List<String> |
Desktop_VirtualMachine_MacOuis
MAC address OUI prefixes (6 hex digits, no separators) attributed to known VM vendors,
e.g. 080027 for VirtualBox.
Declaration
public List<String> Desktop_VirtualMachine_MacOuis
Field Value
| Type | Description |
|---|---|
| List<String> |
PlayerPreferences_Allow_Read_Any_Owner
When true, any user may read stored preferences; when false, only the original owner
(identified by
Declaration
public bool PlayerPreferences_Allow_Read_Any_Owner
Field Value
| Type | Description |
|---|---|
| System.Boolean |
PlayerPreferences_Hash_Key
When true, the player preference key is stored as a hash instead of its original name.
Declaration
public bool PlayerPreferences_Hash_Key
Field Value
| Type | Description |
|---|---|
| System.Boolean |
PlayerPreferences_Value_Encryption_Key
Encryption key applied to player preference values. Empty means values are stored unencrypted. Changing the key invalidates previously written values.
Declaration
public String PlayerPreferences_Value_Encryption_Key
Field Value
| Type | Description |
|---|---|
| String |
PlayerPreferences_Verify_Integrity
When true, player preferences are verified via a hash signature computed from data type, value and owner.
Declaration
public bool PlayerPreferences_Verify_Integrity
Field Value
| Type | Description |
|---|---|
| System.Boolean |
RELATIVE_SETTINGS_PATH
Resource path (relative, no extension) used by
Declaration
public const String RELATIVE_SETTINGS_PATH = null
Field Value
| Type | Description |
|---|---|
| String |
SETTINGS_PATH
Absolute project path to the settings asset (without .asset extension).
Declaration
public const String SETTINGS_PATH = null
Field Value
| Type | Description |
|---|---|
| String |
Properties
Instance
Gets the runtime singleton, loading it from resources on first access.
Declaration
public static GlobalSettings Instance { get; }
Property Value
| Type | Description |
|---|---|
| GlobalSettings |
RandomProvider
Gets the shared random provider used to generate random values across the library.
Declaration
public static IRandomProvider RandomProvider { get; }
Property Value
| Type | Description |
|---|---|
| IRandomProvider |
Methods
LoadAsset()
Loads the settings asset from resources without caching it on the singleton.
Declaration
public static GlobalSettings LoadAsset()
Returns
| Type | Description |
|---|---|
| GlobalSettings | The loaded asset, or |