Quick Start
Get Compuon running in your project in a few minutes.
1. Sign up & get API key
Create a free account at compuon.dev/dashboard, create a project, and copy your API key.
2. Add Compuon to your project
Unreal Engine
// Add to YourGame.Build.cs:
string CompuonPath = Path.Combine(ModuleDirectory, "ThirdParty", "compuon-core");
PublicIncludePaths.Add(Path.Combine(CompuonPath, "include"));
PublicDefinitions.Add("COMPUON_STATIC");
PublicAdditionalLibraries.Add(Path.Combine(CompuonPath, "lib", "Win64", "compuon.lib"));Custom C++ Engine (SDK package)
// SDK package:
// third_party/compuon/include
// third_party/compuon/lib/libcompuon.a // use compuon.lib on Windows
add_library(compuon STATIC IMPORTED)
set_target_properties(compuon PROPERTIES
IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/third_party/compuon/lib/libcompuon.a
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/third_party/compuon/include
)
target_link_libraries(YourGame PRIVATE compuon)Server (any language)
// Your team hosts the integrity server POST http://your-integrity-server:3000/v1/verify Authorization: Bearer <YOUR_API_KEY>
3. Protect your variables
Unreal Engine (FCompuon types)
#include "CompuonTypes.h" // Before: int32 Health = 100; // After: FCompuonInt Health = FCompuonInt::Make(100); FCompuonFloat Speed = FCompuonFloat::Make(5.0f); FCompuonInt Damage = FCompuonInt::Make(25); // All operators work the same: Health -= Damage; // Tier 0: ~200ns Speed.Set(7.5f); // Tier 1: ~8us bool bDead = Health <= FCompuonInt::Make(0); // Tier 2: ~0ns
Custom C++ Engine (Compuon<T>)
#include <compuon/compuon.h> using namespace compuon; // Before: int hp = 100; // After: Compuon<int> hp(100); Compuon<int> damage(25); hp -= damage; // Tier 0: ~200ns hp >>= 1; // Tier 1: ~8us bool dead = hp <= Compuon<int>(0); // Tier 2: ~0ns
4. Initialize the subsystem
Unreal Engine
// UCompuonSubsystem initializes with the game module. // It handles frame_tick, key rotation, and server sync. // No manual setup required.
Custom Engine
#include <compuon/compuon_c.h> const uint64_t KeySeed = 0x12345678ULL; const uint64_t PrngSeed = 0x9ABCDEF0ULL; compuon_init(KeySeed, PrngSeed); // Call each frame: compuon_frame_tick();
5. Check your dashboard
Deploy your build. Open compuon.dev/dashboard. You'll see tampering attempts in real time.
Live Detection Feed
14:23:05 player_x92 gold mismatch susp: 45
14:23:12 player_x92 gold mismatch susp: 60
14:24:01 player_x92 -- KICKED --
Operation Tiers
| Tier | Operations | Cost | Method |
|---|---|---|---|
| 0 | +, -, scalar *, <<, ~ | ~200ns | Fastest |
| 1 | =, *, /, %, >>, &, |, ^ | ~8us | Recalculation |
| 2 | ==, !=, <, >, <=, >= | ~0ns | Val-based |