Specifies what level of optimization Horizon's compiler will apply to files. Higher levels may change execution order of metamethods, or optimize calls to metamethods away entirely.
Static Environment
Allows extra optimizations if the global environment will never change via getfenv/setfenv or reassignments to _ENV. This also ensures the safe environment status is retained on Lua.
VM Compression ★
Applies strong compression to the obfuscated script to lower resulting file size. Requires loadstring or load to be available in your environment.
Disable Line Information
Disables the error handling routine that embeds original line information into your script. While this option will improve performance and fix the stack levels limitation, you will not see line information when your script throws any errors.
THIS WILL IMPROVE PERFORMANCE; HOWEVER, WE RESERVE THE RIGHT TO REFUSE ALL SUPPORT FOR SCRIPTS USING THIS OPTION!
Use Debug Library
Uses Lua's debug library to add extra security features to the script. Only use this option if you have access to all functions found in Lua's default library.
Obfuscation Node
Intense VM Structure ★
Adds extra layers of processing to the VM for extra security. This should make analyzing the functions of the VM more difficult.
Enable GC Fixes
Enables certain bugfixes that fix __gc related issues. This option has a heavy performance cost and is recommended to be kept off unless your script depends on the __gc metamethod.
Target Version
Specifies which version of Lua the obfuscator should target. This may act as a platform/version lock in some cases.
Enable Compatibility Mode
Disables certain features to maximize compatibility for modified configurations of Lua. Not recommended unless Horizon is not working on a modified Lua environment that is not officially supported.
Hardcode Globals
Hardcodes global accesses directly into the outputted result, which provides performance increases and fixes certain limitations with environments.
Using this option will expose the names of all globals used in your script! Do not use if any globals accessed in your script are sensitive!