Anti-Cheat Toolkit logo

Anti-Cheat Toolkit (ACTk) was created to help you protect your Unity3D applications from cheaters & hackers (not from all obviously – skilled and well-motivated person can hack anything).

Feel free to check out tiny intro video and live WebGL Demo (best view in latest Chrome and Firefox)!

Obscured types (intro tutorial)

Plugin allows you to protect sensitive variables from all memory searchers (like Cheat Engine, ArtMoney, GameCIH on Android, etc.).
All basic C# types are covered plus few Unity3D-specific types implemented.

Each obscured type allows to set your encryption key (or use default one) and usually really easy to integrate. Here is a small example:

// add this line to your usings
using CodeStage.AntiCheat.ObscuredTypes;

// you may edit this variable in
// inspector, just like regular int
public ObscuredInt secure = 1000;

// ...

public void DummyExample()
    int regular = 100;
    // common operations are supported
    secure += regular;
    // you can seamlessly mix obscured and regular types
    regular += 10 + secure / 2;

    ObscuredInt localSecure = Random.Range(regular, secure);

    // crypto key will be saved to this variable, use it to decrypt value back
    int encryptionKey;
    // you may get raw encrypted value of any obscured var
    int rawValue = localSecure.GetEncrypted(out encryptionKey);
    // or encrypt clean values (1234 - value, 80085 - key)
    int encrypted = ObscuredInt.Encrypt(1234, 80085);

All obscured types have optional cheating detection (creates fake plain variable – “honeypot” for cheater, keeping all original variables safe)!
LINQ is not supported yet and Unity3D-specific types (like Vector3, etc.) do not mimic original types API, thus you need to cast them to regular types before making anything special.

Obscured Prefs (intro tutorial)

Plugin has ObscuredPrefs class which is going to help you secure all sensitive data you save. All you need to do to leverage its power – just replace regular PlayerPrefs with ObscuredPrefs in your code where you save sensitive data, that’s all (really)! Migration from PlayerPrefs to the ObscuredPrefs is fully automatic.
ObscuredPrefs allows to lock saves to device, reacts on saves tampering and supports few additional types comparing to PlayerPrefs.

Prefs Editor: edit PlayerPrefs and ObscuredPrefs!

View, find, edit, create, delete and encrypt \ decrypt prefs in one simple and intuitive window.
Great for prefs debugging during development.
Works on Win, Mac and Linux.
Has paging and processing progress bar for huge prefs collections.

Code Hashing

CodeHashGenerator generates hash of your runtime code both at Editor and Runtime. Thus you may validate your code is genuine by comparing current hash against genuine (on the web server side for example).
Hash is generated at the separate thread to avoid performance degradation.
Standalone Windows and Android are supported so far, more platforms are planned in future updates.

Speed Hack Detector (intro tutorial)

Feel free to use it to detect when cheater speeds up or slows down your game using Cheat Engine’s speed hack feature (some other speed hack tools could be detected too).
This kind of cheating can’t be avoided in Unity, you could react and ban nasty cheaters though.
Speed hack resistant timer included to let you make speed-hack resistant time calculations and animations.

Time Cheating Detector

This detector uses Internet connection to check the difference between local and online time to detect time cheating.
Such cheating is often used to speedup long-term processes, like building progress, energy restore, etc.

WallHack Detector (intro tutorial)

This one detects 3 common types of the wallhacking:

  • shooting through the walls
  • walking through the walls
  • looking through the walls

Uses generic sandbox approach to determine wallhacks.

Injection Detector (intro tutorial)

This one allows to detect any managed DLL injection into your Unity3D app on PC (Win, Mac, Linux, WebPlayer) and Android.
Please read carefully all details in the plugin’s readme.

All detectors can be used both from code and Unity editor.

All currently implemented features were tested on different Standalone and Mobile platforms. Generally it should work fine on all Unity target platforms, if opposite is not declared in feature description or API docs.
Plugin compatible with code stripping, any .NET versions and works in IL2CPP.
Plugin has full API docs and detailed readme to let you get started quickly. It also has example scene with different usage examples (see at the WebGL demo).

Third-party plugins section

Make sure to complement your setup with good code Obfuscator!


Full sources, full API docs and few pieces of my soul included.
Explore, learn, extend and build fully customized anti-cheat solution for your games!

Like it? Hate it? Please, be so kind and leave your review in Asset Store!

Feel free to visit ACTk’s threads on forums for extra information or if you just wish to ask something (links below).
Make sure to check readme.pdf after purchase, it contains samples, additional details and helpful pro-tips.

Current version: loading… [version history]

Where to go from here:


P.S.: I wish to say special thanks to Daniele Giardini for great logos and all priceless feedback he provided about ACTk!
And I’d like to let you know about some must-have Unity3D content Daniele created, like DOTween tweening engine or DemiLib “Swiss knife” library, and you definitely should check out Goscurry – super fun, creative and addictive game!