Unity
Anti Cheat Free | Keep hackers & cheaters away | v2026
FREE
Rated 5.0/5 from 22 ratings on Unity.
About Anti Cheat Free | Keep hackers & cheaters away | v2026
Ship your game. Keep it fair.
Once your game is on a player's machine, its memory and its saves are theirs to edit. Cheat Engine searches for 100 health and writes 9999. Someone opens the save and types a new coin count.
GuardingPearSoftware's AntiCheat Free runs inside the build, hides those values, and notices when someone touches them and lets you decide what happens next.
✔ Hide health, score, and coins from memory scanners
✔ Make an edited PlayerPrefs save fail on the next read
✔ Notice a rebranded Android or iOS build
✔ Keep your code – swap the type, not the logic.
Trusted by developers for 10+ years.
HOW YOU ADD IT
1. Import the package. The full C# source is in it.
2. Drag the AntiCheat-Monitor prefab from GUPS/AntiCheat/Resources/Prefabs into your scene.
3. Swap the values a cheat tool looks for.
ProtectedInt32 health = 100;
ProtectedVector3 position = transform.position;
ProtectedPlayerPrefs.SetInt("coins", coins);
Read, write, and math stay the same. Open the memory demo if you want to see how a plain int compares next to a protected one.
WHAT FREE STOPS
Cheat Engine and tools like it search for the number they can see. Protected values hide the real one and put a honeypot beside it. If someone pokes that trap, PrimitiveCheatingDetector fires.
You get protected versions of the everyday types: int, float, string, Vector, Quaternion, and the rest. ProtectedInt32, ProtectedFloat, ProtectedVector3, ... with the same operators you already use.
Unity PlayerPrefs is a text file with a friendly name. ProtectedPlayerPrefs writes still to the same place. But it hashes the key, encrypts the value, and calculates a signature. An edited save fails that check on the next read.
If someone republishes your Android or iOS build under a new package name, MobileGenuineDetector notices.
When a check fails, the report lands on the AntiCheat-Monitor. As reaction a punisher could close the game. You can also hook a UnityEvent on the detector, or subscribe in code.
INTEGRATION
Designed to be plug-and-play. Add the AntiCheat-Monitor prefab to your first scene. Next, adjust the types you want to protect.
PLATFORMS & COMPATIBILITY
-> All platforms Unity supports
-> Mono, CoreCLR, and IL2CPP scripting backends
-> Unity 2021.3 through Unity 6+
WHY CHOOSE ANTICHEAT
-> Drop-in: ProtectedInt32 adds, compares, and serializes like an int. You change the type, not the code around it.
-> No black box: the full C# source is in the package. Read the detector before you trust it, and change it if you need to.
-> Honest about limits: every game can be cheated. But you can make it as hard as possible for them.
-> Actively developed: since 2017, updated for each Unity release and for the cheat tools that show up along the way.
Once your game is on a player's machine, its memory and its saves are theirs to edit. Cheat Engine searches for 100 health and writes 9999. Someone opens the save and types a new coin count.
GuardingPearSoftware's AntiCheat Free runs inside the build, hides those values, and notices when someone touches them and lets you decide what happens next.
✔ Hide health, score, and coins from memory scanners
✔ Make an edited PlayerPrefs save fail on the next read
✔ Notice a rebranded Android or iOS build
✔ Keep your code – swap the type, not the logic.
Trusted by developers for 10+ years.
HOW YOU ADD IT
1. Import the package. The full C# source is in it.
2. Drag the AntiCheat-Monitor prefab from GUPS/AntiCheat/Resources/Prefabs into your scene.
3. Swap the values a cheat tool looks for.
ProtectedInt32 health = 100;
ProtectedVector3 position = transform.position;
ProtectedPlayerPrefs.SetInt("coins", coins);
Read, write, and math stay the same. Open the memory demo if you want to see how a plain int compares next to a protected one.
WHAT FREE STOPS
Cheat Engine and tools like it search for the number they can see. Protected values hide the real one and put a honeypot beside it. If someone pokes that trap, PrimitiveCheatingDetector fires.
You get protected versions of the everyday types: int, float, string, Vector, Quaternion, and the rest. ProtectedInt32, ProtectedFloat, ProtectedVector3, ... with the same operators you already use.
Unity PlayerPrefs is a text file with a friendly name. ProtectedPlayerPrefs writes still to the same place. But it hashes the key, encrypts the value, and calculates a signature. An edited save fails that check on the next read.
If someone republishes your Android or iOS build under a new package name, MobileGenuineDetector notices.
When a check fails, the report lands on the AntiCheat-Monitor. As reaction a punisher could close the game. You can also hook a UnityEvent on the detector, or subscribe in code.
INTEGRATION
Designed to be plug-and-play. Add the AntiCheat-Monitor prefab to your first scene. Next, adjust the types you want to protect.
PLATFORMS & COMPATIBILITY
-> All platforms Unity supports
-> Mono, CoreCLR, and IL2CPP scripting backends
-> Unity 2021.3 through Unity 6+
WHY CHOOSE ANTICHEAT
-> Drop-in: ProtectedInt32 adds, compares, and serializes like an int. You change the type, not the code around it.
-> No black box: the full C# source is in the package. Read the detector before you trust it, and change it if you need to.
-> Honest about limits: every game can be cheated. But you can make it as hard as possible for them.
-> Actively developed: since 2017, updated for each Unity release and for the cheat tools that show up along the way.