• Hello
Search Results for

    Show / Hide Table of Contents

    Class GlobalSettings

    Project-wide configuration asset for the anti-cheat system. Loaded as a singleton from RELATIVE_SETTINGS_PATH.

    Inheritance
    System.Object
    GlobalSettings
    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 ) can read them.

    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 null if it does not exist.

    In This Article
    Back to top GuardingPearSoftware documentation