All Work

SCUE5 Plugin Updated

Public

Fork of the SCUE plugin, updated for Unreal Engine 5.

Fork · C++ 2026 Updated 4 weeks ago ForkC++Unreal Engine
main Live from GitHub Updated 4 weeks ago View on GitHub
Repository contents
Name Size
Plugins , directory
.gitignore 500 B
LICENSE 271 B
LICENSE.txt 384 B
README.md 5.9 KB
README.md

SCUE6 (Secure-Client) — Anti-Cheat Plugin for Unreal Engine 5.6+ (UE6-ready rewrite)

Fork credit / original author

This project is a fork of BrUnOXaVIeRLeiTE/SCUE5-Plugin by Bruno Xavier B. Leite, the original author of the SCUE4/SCUE5 "Secure-Client" anti-cheat system. All credit for the original design and implementation belongs to him.

This fork (Louiml/SCUE5-Plugin-updated) modernizes the plugin for Unreal Engine 5.6/5.7 (UE6-ready), improves the anti-cheat capabilities (per-install encryption, real x64 anti-debug, code-integrity checks, module scanning, anti-injection hooks, server-side movement validation, encrypted heartbeat telemetry, and a rewritten external C++ Game-Guard), and fixes a number of latent bugs — while preserving the original Blueprint-facing API so existing projects keep compiling.

The original system is published on the Unreal Engine Marketplace; Epic Games' Marketplace terms still apply (see the original LICENSE below).

Full rewrite of the SCUE5 plugin: per-install encryption, real 64-bit anti-debug, code integrity checks, module/DLL scanning, anti-injection hooks, server-side movement validation, encrypted heartbeat telemetry, and an external C++ Game-Guard.

Known Limitations

  • Runtime module builds for UE 5.6/5.7 Windows Win64 (won't break packaging for other platforms — non-Win64 builds compile out the guard code).
  • The optional kernel driver (SCGuardDriver/) is not included in this pass; it requires a separate WDK project and EV-code-signing/WHQL attestation. The plugin builds and runs without the driver (graceful degradation).
  • Anti-injection hooks require the vendored MinHook (see below). If absent, that one detector is disabled; everything else still runs.

Requirements

  • Unreal Engine 5.6 or 5.7.
  • To build the external Game-Guard: CMake + Visual Studio 2022 (x64).
  • (Optional) MinHook source vendored under Source/SCUE5/Private/ThirdParty/MinHook/.

How To Use — install

  1. Close the Unreal Editor.
  2. Copy the Plugins/SCUE5 folder into your UE project's Plugins/ directory.
  3. Right-click your .uproject → Generate Visual Studio project files, then open the .uproject.
  4. In the Editor: Edit → Project Settings → Maps & Modes → set Game Instance Class to SafeGameInstance. If you have a custom GameInstance, re-parent it to USafeGameInstance.
  5. (Recommended) Edit → Project Settings → Synaptech → Anti-Cheat Settings → enable bUsePerInstallKey for per-install encryption. The first run generates a random key at Saved/Config/SCUE5.key (XOR-encrypted with a machine-ID mask so it's non-portable).

How To Use — build the external Game-Guard (recommended)

The in-process guard always runs. The external guard adds out-of-process detection that a cheat patching the game cannot disable.

cd Plugins\SCUE5\Source\ThirdParty\SCUE6Guard
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
copy build\Release\SCUE6Guard.exe ..\x64\

The plugin auto-launches SCUE6Guard.exe with the game PID and connects over a named pipe (\\.\pipe\SCUE6Guard_<pid>).

How To Use — vendor MinHook (optional, enables anti-injection)

cd Plugins\SCUE5\Source\SCUE5\Private\ThirdParty
git clone --depth 1 https://github.com/TsudaKageyu/minhook MinHook

SCUE5.Build.cs auto-detects the folder and enables the hooking code.

Safe Types

The encrypted FSafe* types (Bool/Byte/Int/Float/Name/String/Text/Vector2D/3D/4D/ Color/Rotator/Transform) keep their identical Blueprint API from v2.x, so existing Blueprints compile unchanged. Internally they now store sentinel + nonce + CRC8 + payload substitution-encoded strings and raise a tamper event if the in-memory string is altered.

Server-side validation

USCUE6ServerValidatorComponent (reference) + the FServerValidator API validate replicated Safe-Type blobs authoritatively. Wire the kick/ban response to your session system via the OnThreatDetected Blueprint event on the GameInstance.

Telemetry

Heartbeat is written to Saved/Logs/SCUE6_heartbeat.log by default. Set TelemetryEndpoint to an HTTPS URL to POST payloads instead (provide your own ISCTelemetrySink for custom transports).

Architecture

Source/SCUE5/
  Public/
    SCUE5.h                 — Settings, GameInstance, Guard Subsystem (aggregator)
    Crypto/                 — SecureRandom, SubstitutionCipher, IntegrityHash
    SafeTypes/               — macro-generated encrypted value types + operators
    Guard/                  — AntiDebug, ModuleScanner, AntiInjection, GuardClient
    Validation/             — MovementValidator, HeartbeatClient
  Private/
    Crypto/, Guard/, Validation/   — implementations
    SCUE5.cpp               — subsystem wiring
    Blueprints/SCLibrary.* — Blueprint function library (regenerated, API preserved)
Source/ThirdParty/SCUE6Guard/      — standalone C++ external guard (CMake)

FAQs (updated)

  • Will my old save-games still load? Yes — the default cipher is the original ASCII substitution table, so existing encoded values decode unchanged. Enable bUsePerInstallKey for new installs only.
  • Performance? Get/Set is ~0.01ms (string encode/decode). Integrity CRC runs every 30s (configurable) off the game thread.
  • Does Safe Types support SaveGame? Yes — Base/Shift/Flag/Internal are SaveGame-tagged, identical to v2.

Original author: Copyright (C) Bruno Xavier B. Leite — see BrUnOXaVIeRLeiTE/SCUE5-Plugin. Fork modifications (UE6-ready rewrite + anti-cheat improvements): Louiml (Louiml/SCUE5-Plugin-updated).

Licensed per Epic Games Marketplace terms (original).