Table of Contents

Getting started with ACTk

Install and upgrade safely

  1. Remove any previous ACTk version from your project before importing a new package release. This avoids leftover files that could conflict with the updated structure.
  2. Import the package. Unity adds menu entries under Tools > Code Stage > Anti-Cheat Toolkit and GameObject > Create Other > Code Stage > Anti-Cheat Toolkit.
  3. Open the sample scenes under CodeStage/AntiCheatToolkit/Examples and try to cheat them. First-hand experience is invaluable when you plan your own counter-measures.
Warning

Upgrades can modify serialization backends—back up your project or commit changes before importing a new package.

Available example scenes

  • API Examples: Examples/API Examples/API Examples.unity - Comprehensive examples of all ACTk features
  • Code Genuine Validation: Examples/Code Genuine Validation/GenuineValidator.unity - Advanced code hash validation
  • DOTS ECS Examples: Examples/DOTS ECS Examples/ACTk Hybrid DOTS Setup.unity - Unity DOTS integration

The ACTk Settings window

Launch Tools > Code Stage > Anti-Cheat Toolkit > Settings to configure global options. Settings are stored in ProjectSettings/ACTkSettings.asset.

ACTk Settings window

Key sections:

  • Toolkit status – track the installed version and access quick links (support, Discord, this manual, the API reference, etc.).
  • IL2CPP is your friend – highlights why IL2CPP builds are harder to reverse engineer and lets you switch scripting backends when supported.
  • Detectors – enable automatic link.xml generation, adjust backlogs, and toggle debug logging.
  • Code Hash Generator – turn on automatic hash generation after builds and configure whitelist behavior.
  • Conditional compilation symbols – enable platform-specific helpers and debug switches (e.g., ACTK_DETECTION_BACKLOGS, ACTK_INJECTION_DEBUG). Common symbols include:
    • ACTK_DETECTION_BACKLOGS – print detector histories in dev builds
    • ACTK_INJECTION_DEBUG, ACTK_INJECTION_DEBUG_VERBOSE, ACTK_INJECTION_DEBUG_PARANOID – injection diagnostics levels
    • ACTK_WALLHACK_DEBUG – keep WH helpers visible and log more
    • ACTK_WALLHACK_LINK_XML – auto-generate link.xml for WH on IL2CPP
    • ACTK_PREVENT_INTERNET_PERMISSION – disable Time Cheating Detector and avoid INTERNET permission
    • ACTK_PREVENT_READ_PHONE_STATE – avoid READ_PHONE_STATE; provide custom DeviceIdHolder.DeviceId if you still need Device Lock
    • ACTK_EXCLUDE_OBFUSCATION – adds [Obfuscation(Exclude = true)] on sensitive methods to avoid obfuscator side effects
    • ACTK_DEV_LOGS – enable generic development logs in the Editor and development builds
    • ACTK_US_EXPORT_COMPATIBLE – downgrade crypto for export compliance (reduced security)
    • ACTK_NEWTONSOFT_JSON – enable Json.NET converter for obscured types
    • ACTK_IS_HERE – optional marker for third-party integrations

Quick-start checklist

Essential steps to get ACTk working in your project:

  • [ ] Import the package and explore the sample scenes
  • [ ] Switch to IL2CPP where possible for better protection
  • [ ] Pick tools for your game - choose from ObscuredTypes, Detectors, Secure Storage, Code Integrity and other features
  • [ ] Configure settings in the ACTk Settings window
  • [ ] Test your protection in both Editor and builds

Editor tooling overview

The Tools > Code Stage > Anti-Cheat Toolkit menu provides shortcuts to:

  • Settings – configure global options and conditional symbols.
  • Prefs Editor – inspect and edit PlayerPrefs and ObscuredPrefs in a dedicated window.
  • Injection Detector Whitelist Editor – maintain assemblies that are safe to load at runtime.
  • Code hash utilities – calculate hashes for existing builds and automate proguard configuration.
  • Migration and Validation - run migration or validation utilities to help you update from older ACTk versions.