Make your Unity WebGL build hard to read and hard to patch.
Every player downloads your whole build. TrustSig Protect obfuscates and virtualizes the WebAssembly inside it, and ends the session when someone patches it while it runs.
- Memory editor attached
- Score function patched
- Browser code swapped
Session ends
Build.wasmBuild.framework.jsBuild.data
Every player gets the whole build
Your whole build downloads with the game.
A WebGL player receives every file your build produced.
The browser fetches your WebAssembly, your JavaScript and your data, and it all sits in the cache.
Anyone can open those files, search for the values that matter and work out where your rules live.
From there a patched copy runs on their machine, or on a site that is not yours.
Nothing is named, and nothing runs in order.
The names go, and the path through your code stops making sense.
Every meaningful function, import and export name is stripped or randomised.
Control flow is flattened, so the order your code runs in is no longer visible in the file.
Fake decision points sit next to the real ones and survive the clean-up passes tools run.
Instructions only our engine runs
Your game rules stop being WebAssembly at all.
Obfuscation hides how your code reads. Virtualization changes what it is.
You pick what is worth hiding: scoring, the in-game economy, entitlement checks.
Protect compiles those parts into bytecode for an instruction set that exists only in your build.
A small engine ships with your game and runs that bytecode, and every build gets a different one.
Cheating your build stops being a five-minute job.
Nothing on a player's machine is out of reach, and anyone who says otherwise is selling. What changes is the price: each cheat has to be built by hand against one build, and it dies when you ship the next.
- Memory editor attached
- Score function patched
- Browser code swapped
Session ends
Patch it mid-session and the session ends.
Memory editors, attached debuggers and swapped browser functions are caught while your game runs.
Protect keeps checking its own code the whole time your game is open.
A patched function or an attached debugger ends the session on the spot.
The player gets no error and no hint about what gave them away.
What a protected build carries.
- Virtualization
- The game logic you pick runs as bytecode on an engine that only your build has.
- Control-flow flattening
- The order your code runs in stops being visible in the file.
- Symbol scrubbing
- Function, import and export names are stripped or randomised.
- Polymorphic builds
- Every build differs byte for byte, so a cheat written against one does not fit the next.
- Anti-tampering
- Patched code, hooked browser functions and swapped runtimes are caught while the game runs.
- Honeytokens
- Bait values no real player touches mark whoever uses them as an attacker.
Unity WebGL, answered
No. A server check is still the strongest control you have. Protect covers the part of your game that can only run on the player's machine.
A Unity WebGL build ships WebAssembly, and that is what Protect works on.
Only the code you choose runs inside the engine, so the rest of your build runs at the speed Unity gave it.
Protect works on code, not on asset bundles.
Get in touch.
Tell us what your game ships, what needs protecting, or whatever you want to ask.