📄 Documentation 💬 Forum 🟣 Discord
AntiCheat is developed for you, to keep your game safe. In the world of video games, cheating is unfortunately still widespread, with individuals using various methods to gain an advantage over other players. These include the use of mods, hacks or exploits that give an unfair advantage. Be it single- or multiplayer games.
As a client-side solution, AntiCheat protects your game memory, storage, time and detects and prevents tampering attempts. It ensures the integrity of the gaming experience for you and your honest players.
🔒 PROTECTED MEMORY
Important data such as scores, positions or health are usually stored in the runtime memory, which can be vulnerable to manipulation by cheaters. AntiCheat offers protected data types to recognize, prevent and react to those memory manipulation attempts.
- Primitives: Protected data type for all primitives. This includes value types like int, float, string, ... and all Unity value types like Vector, Quaternion, ...
- Collections: Added protected versions for commonly used collections such as List, Queue and Stack.
- Data- & BlockChain: Introduced data chain classes to maintain remote synchronized ordered data while preserving its integrity.
💾 PROTECTED PLAYER PREFS
Unity's PlayerPrefs offer a simple way to save user preferences and data, but they don't provide any security or encryption, making them vulnerable to unwanted modifications. AntiCheat protected PlayerPrefs are designed to address this security issue.
- Protected PlayerPrefs: Protected implementation of Unity's PlayerPrefs to store encrypted data in the local registry.
- Protected File Based PlayerPrefs: File based alternative to store Unity's PlayerPrefs encrypted in a file of your choice.
⏱️ PROTECTED TIME
Time, whether in real time or as game time, is crucial in every game. However, it is often manipulated by cheaters by speeding up or slowing down the speed of the game or changing the device's clock. AntiCheat addresses these problems by providing a solution that safeguards against time-based manipulations.
- Protected Game Time: Protected and reliable versionzs of deltaTime, fixedDeltaTime and all other Unity Time class properties.
- Protected Device Time: Watch the player's device time and use a trusted UTC DateTime to ensure the integrity of your game.
📱 PROTECT YOUR MOBILE GAME
Mobile apps are often targets for unauthorized redistribution, with cheaters modifying them to gain advantages, bypass payment systems or even rebranding and republishing them. But AntiCheat helps you to stop that!
Android:
- Validate Installation Source: Validate the installation source, to check whether your app was installed by an official app stores and not by third parties.
- Validate Hash: Validate the entire app hash to determine whether the app has been modified in any way. Be it changed code or other resources.
- Validate Certificate Fingerprint: Validate your apps certificate fingerprint to make sure the app is shipped by you and no one else.
- Validate Libraries: A common cheat method in Unity Android apps is to insert custom libraries into your app instead of modifying the existing code. Validate against whitelisted and blacklisted libraries.
- Validate Installed Apps: Not only can a user modify or manipulate your game or app, but they can also try to gain an advantage by making changes to their device. Validate the installed apps!
iOS + Android:
- Validate Package Name: Validate the package name of the shipped app and make sure it is your app and not a rebranding.
⭐ WHY ANTICHEAT
- Proven Quality: Thousands of developers have relied on AntiCheat for nearly a decade as a comprehensive game security solution.
- Lifetime Access: As one-time purchase solution you have access to all features and future updates.
- Source Code: The package includes the full C# source code, allowing developers to easily customize and adapt to their specific requirements.
- Developed For You: Designed with developers in mind, ensuring you will get all the support you need.
📝 DOCUMENTATION
AntiCheat is packed with plenty of manuals, scripting API reference docs, and demos, enabling you to dive straight into coding!
Documentation and Scripting Api Reference
📦 PLATFORMS
All platforms Unity supports. Includes Mono and IL2CPP.
🌐 CONTACT
From developers for developers since 2017! If you have any questions feel free to ask.
Contact: guardingpearsoftware@gmail.com
Website: guardingpearsoftware.com
Social: X, Bluesky, Mastodon, Threads
🔒 MORE SECURITY TOOLS
- Protect your game source code: Obfuscator
⭐ DEV TOOLS
- Localize you game: EasyLocalization
- Optimize your performance: EasyPooling
- Monitor your performance: EasyPerformanceMonitor
=> Bundle together: Developer Essentials
2026.1: Official release of AntiCheat 2026
As Unity continues to evolve, AntiCheat evolves alongside it. Starting with Unity 6 and later, AntiCheat now requires the new Input System, as the legacy system has been deprecated. Additionally, the demo content now relies on URP.
If you are using HDRP (which is no longer actively developed but may still be in use), you can either delete the Demo directory or update the shaders to ensure compatibility.
This update does not introduce any major changes yet, aside from Unity 6 compatibility. However, it lays the groundwork for upcoming improvements, so stay tuned!
2025.2.2: Android - Minor Optimization
Improvements:
- [Imprv-2025-1] Duplicate class a.a found in modules ... and com.gups.anticheat.aar. Because of default obfuscation the Anti Cheat android libraries could collide with other libraries. Adjusted the naming [thanks Diz].
2025.2.1: Android - Minor Fixes
Bug Fixes:
- [Bug-2025-4] Caused by a gitignore issue, the android file "com.gups.anticheat.android.library.LibraryReader" was lost. Added the file again but under the new package "com.gups.anticheat.android.binary" [thanks David & SilverSS].
2025.2: Maintenance Update
Features:
- [Feature-2025-3] The device time is now also checked when DeviceTimeCheatingDetector is started for the first time. [thanks Mefe89]
- [Feature-2025-2] The Meta Horizon Store has been added as a preconfigured, selectable store for store source validation. [thanks Arvydas]
- [Feature-2025-1] In addition to delta time, fixed delta time can now also be validated using GameTimeCheatingDetector.
2025.1.2: Minor Fixes
Bug Fixes:
- [Bug-2025-2] Primitives such as int, float, double, etc. return with false for the HasIntegrity property if no value has yet been set. [thanks David]
- [Bug-2025-3] The Android monitors have not disposed the Java callbacks. This could lead to memory leaks. [thanks David]
2025.1.1: Release Day - Patch
Bug Fixes:
- [Bug-2025-1] For the default ProtectedFileBasedPlayerPrefs path, the "PathSeparator" got used instead of "DirectorySeparatorChar". Resulting in a "wrong" file path.
Internal:
- [Intern-2025-1] Corrected and optimized some tests.
2025.1: Official release of AntiCheat 2025
We are excited to announce the official release of AntiCheat 2025.1, packed with new features and improvements to enhance your security and development experience!
Key Highlights:
- Unity 6 (6000) Support: AntiCheat 2025 is now fully compatible with Unity 6, ensuring smooth integration with the latest Unity version.
- Complete Rewrite of Protected PlayerPrefs: We've completely rewritten the protected PlayerPrefs system, significantly boosting security and making it even more user-friendly. The new protected PlayerPrefs code now resides in the GUPS.AntiCheat.Protected.Storage.Prefs namespace.
Important: This update is not compatible with the approach used in AntiCheat 2024 and earlier versions. We recommend using AntiCheat 2025+ for new projects or projects that have not yet been released. Else continue with AntiCheat 2024.
What's New in Protected PlayerPrefs:
1. Expanded Data Type Support:
AntiCheat 2025 now supports a broader range of data types, including:
- Byte, Byte Array, Boolean, Int16, Int32, Int64, UInt16, UInt32, UInt64
- Single, Double, Decimal, Char, String
- Color, Color32, Vector2, Vector2Int, Vector3, Vector3Int, Vector4
- Quaternion, Rect, Plane, Ray, Matrix4x4
2. New PlayerPrefs Settings:
Customize your PlayerPrefs protection with several new settings available in the Player Settings (Project Settings → GuardingPearSoftware → AntiCheat).
- Hash Key:
Option to hash the PlayerPrefs key (default or file-based). When enabled, the key is stored as a hashed version instead of the original name.
Recommended: True.
- Value Encryption Key:
Set a key to encrypt the PlayerPrefs value (default or file-based). If no key is set, the value remains unencrypted.
Note: Changing this key will make previously stored values unreadable.
Recommended: Yes.
- Allow Read Any Owner:
Enable this option to allow any user to read the stored PlayerPrefs (default or file-based), facilitating sharing between users. Disable it to restrict access to the device that originally created the PlayerPrefs, using the device's unique identifier (UnityEngine.SystemInfo.deviceUniqueIdentifier).
Recommended: Optional.
- Verify Integrity:
Enable verification of PlayerPrefs integrity to ensure data consistency. The integrity is checked using a hash calculated from the data type, value, and owner, and stored as a signature alongside the data.
Recommended: Optional.
This release brings enhanced security, flexibility, and broader compatibility to your projects. Make sure to explore the new features and settings to safeguard your game data with ease!
For optimal compatibility and security, we recommend using AntiCheat 2025 for new or unreleased projects.
2024.3.1: Protected Primitives - Fix
- Fix: Protected Primitives without any assigned values, threw a detection event on access (like .ToString()).
2024.3: Android Security Update
After two months of development, it's finally here: the Android Security update! Packed with numerous security features related to Android apps, it ensures your mobile gaming experience is safer than ever before.
Frequently mobile apps become targets for unauthorized redistribution, whether by disabling Digital Rights Management (DRM), modifying the app, bypassing payment methods, or rebranding it under a different name. This is a major problem for developers. That's why AntiCheat introduces new features that secure your mobile Android apps!
Android:
- Feature (Pro): Validate Installation Source - Validate the installation source, to check whether your app was installed by an official app stores and not by third parties.
- Feature (Pro): Validate Hash - Validate the entire app hash to determine whether the app has been modified in any way. Be it a different package name or changed code or other resources.
- Feature (Pro): Validate Certificate Fingerprint - Validate your apps certificate fingerprint to make sure the app is shipped by you and no one else.
- Feature (Pro): Validate Libraries - A common cheat method in Unity Android apps is to insert custom libraries into your app instead of modifying the existing code. Validate against whitelisted and blacklisted libraries.
- Feature (Pro): Validate Installed Apps - Not only can a user modify or manipulate your game or app, but they can also try to gain an advantage by making changes to their device. Validate the installed apps!
iOS + Android:
- Feature: Validate Package Name - Validate the package name of the shipped app and make sure it is your app and not a rebranding.
2024.2.2: Protected Player Prefs - Fix
- Fix: Protected Player Prefs had an issue throwing detected cheating when reading from Protected Player Prefs.
2024.2.1: Support of Unity 2019 & 2020
- Support: Supports now Unity 2019 and 2020.
- Feature (Pro): Blockchain: A blockchain class has been introduced that inherits from a datachain that can be synchronized with a remote source.
2024.2: Datachain & Collection - Update
- QoL: Unity events can now also be attached to detectors via the inspector in order to react to cheating events.
- Feature (Pro): ProtectedList - A protected list is similar to the normal generic list you would use, with the special feature that its integrity is checked.
- Feature (Pro): ProtectedQueue - A protected queue is similar to the normal generic queue you would use, with the special feature that its integrity is checked.
- Feature (Pro): ProtectedStack - A protected stack is similar to the normal generic stack you would use, with the special feature that its integrity is checked.
- Feature (Pro): Datachain - A datachain is similar to a linked list consisting of a sequence of elements arranged in a specific order. It is used to maintain the order of these elements while keeping its integrity.
2024.1: Official release of AntiCheat 2024
- Refactored the code base to tackle the security issues in gaming 2024!