Obfuscation Settings

Configuration options for the engine.


The engine exposes settings to adjust security, performance, and file size. Access to specific settings depends on the active subscription plan and the selected target backend.

Standard Settings

Available on the Pay As You Go plan.

Disable Line Information

  • Supported Targets: Luau VM backend targets (Luau, Roblox)

This setting defaults to true. The compiler removes internal error handlers, causing runtime stack traces to omit the original line numbers. Setting this to false wraps the output in an error handler to preserve line numbers, which marginally increases file size.

License Key Binding

  • Supported Targets: Luau, Roblox

This setting binds the obfuscated script to a cryptographic license key. The script verifies the key at runtime against a global variable named OBSCURAU_LICENSE_KEY. If the key does not match, execution fails.

Usage:

-- Define the global variable before running the obfuscated script
getfenv().OBSCURAU_LICENSE_KEY = "your-secure-license-string"

Enable FFI Library

  • Supported Targets: LuaJIT

This setting allows the obfuscator to use the FFI library for internal mechanisms, provided the runtime environment supports and enables it.

Premium Settings

Available on the Starter and Professional plans.

Intense VM Structure

  • Plan: Starter
  • Supported Targets: Luau VM backend targets (Luau, Roblox)

This setting increases the structural complexity of the bytecode emulator. It forces reverse engineering tools to process deeper nested control flows. The compiler enables this automatically for Aggressive (Level 2) and Maximized (Level 3) optimization levels.

[!NOTE] This setting requires Disable Line Information to be enabled. By activating Intense VM Structure, line information is inherently discarded.

Use Debug Library

  • Plan: Starter
  • Supported Targets: All Targets

This setting injects checks that use Lua’s debug library. The script verifies if debug hooks exist and terminates execution if it detects tampering. Only enable this if the target runtime exposes an unmodified debug library.

Static Environment

  • Plan: Starter
  • Supported Targets: Luau VM backend targets (Luau, Roblox)

This setting instructs the compiler that the script execution environment (_ENV or getfenv) does not change at runtime. The compiler removes dynamic environment lookups, increasing execution speed.

Enforce Place ID Lock

  • Plan: Professional
  • Supported Targets: Roblox

This setting binds the script to a specific Roblox Place ID or Universe ID. The script crashes if it executes outside the authorized game.

Business Settings

Available on the Business plan.

VM Compression

  • Supported Targets: Luau VM backend targets (Luau, Roblox)

This setting compresses the obfuscated file. It reduces the final file size but increases the required CPU time when the script initially loads.

Enable Compatibility Mode

  • Supported Targets: Roblox

This setting disables internal heuristics. Use this to resolve initialization errors inside heavily modified runtimes.

Hardcode Globals

  • Supported Targets: Roblox, World of Warcraft

This setting hardcodes global variable reads and writes directly into the VM. It increases execution speed by removing dynamic string lookups. The compiler leaves global variable names (like workspace, game, or Print) readable in the obfuscated file.