Anti-Cheat Toolkit
2024.3.0
Multi-purpose anti-cheat solution for Unity Engine
|
Inherits ACTkDetectorBase< InjectionDetector >.
Public Member Functions | |
void | TriggerDetection () |
Static Public Member Functions | |
static InjectionDetector | AddToSceneOrGetExisting () |
static InjectionDetector | StartDetection () |
static InjectionDetector | StartDetection (InjectionDetectedEventHandler callback) |
static void | StopDetection () |
static void | Dispose () |
Public Attributes | |
bool | autoStart |
bool | autoDispose |
Properties | |
bool | IsCheatDetected [get, protected set] |
bool | IsStarted [get, protected set] |
bool | IsRunning [get, protected set] |
Events | |
new InjectionDetectedEventHandler | CheatDetected |
Allows to detect foreign managed assemblies in your application.
Just add it to any GameObject as usual or through the "GameObject > Create Other > Code Stage > Anti-Cheat Toolkit" menu to get started.
You can use detector completely from inspector without writing any code except the actual reaction on cheating.
Avoid using detectors from code at the Awake phase.
NOTE #1: Make sure you've checked the "Enable Injection Detector" option at the "Window > Code Stage > Anti-Cheat Toolkit > Settings" window before using detector at runtime.
NOTE #2: Always test detector on the target platform before releasing your application to the public.
It may detect some external assemblies as foreign, thus make sure you've added all external assemblies your application uses to the Whitelist (see section "How to fill user-defined Whitelist" of the read me for details).
NOTE #3: Disabled in Editor because of specific assemblies causing false positives. Use ACTK_INJECTION_DEBUG symbol to force it in Editor.
WARNING: Only Standalone and Android platforms are supported.
|
inlinestatic |
Creates new instance of the detector at scene if it doesn't exists. Make sure to call NOT from Awake phase.
|
inlinestatic |
Starts foreign assemblies injection detection for detector you have in scene.
Make sure you have properly configured detector in scene with autoStart disabled before using this method.
|
inlinestatic |
Starts foreign assemblies injection detection with specified callback containing string argument.
Assembly name will be passed to the argument if possible. Otherwise another cause of the detection will be passed.
If you have detector in scene make sure it has empty Detection Event.
Creates a new detector instance if it doesn't exists in scene.
callback | Method to call after detection. |
|
inlinestatic |
Stops detector. Detector's component remains in the scene. Use Dispose() to completely remove detector.
|
inlinestatic |
Stops and completely disposes detector component.
On dispose Detector follows 2 rules:
|
inline |
Manually triggers cheating detection and invokes assigned events.
|
inherited |
Allows to start detector automatically. Otherwise, you'll need to call StartDetection() method to start it.
Useful in conjunction with proper Detection Event configuration in the inspector. Allows to use detector without writing any code except the actual reaction on cheating.
|
inherited |
Detector component will be automatically disposed after firing callback if enabled. Otherwise, it will just stop internal processes.
On dispose Detector follows 2 rules:
|
getprotected setinherited |
Indicates if cheat was detected by this detector.
|
getprotected setinherited |
Allows to check if detector is started (stays true even when it's paused).
|
getprotected setinherited |
Allows to check if detection is currently running and not paused.
new InjectionDetectedEventHandler CheatDetected |
Subscribe to this event to get notified when cheat will be detected. The detection cause will be passed as an argument if possible.