diff --git a/content/docs/options/virtualization.md b/content/docs/options/virtualization.md new file mode 100644 index 0000000..101a70c --- /dev/null +++ b/content/docs/options/virtualization.md @@ -0,0 +1,14 @@ +--- +weight: 100 +title: "Virtualization" +description: "Compilation and VM Generation" +icon: "article" +date: "2025-05-01T18:47:58-05:00" +lastmod: "2025-05-01T18:47:58-05:00" +--- + +The MoonVeil virtualization pass handles lifting and compiling selected virtualized blocks using the [MV_VM](/docs/macros/mv_vm) or [MV_ENC_FUNC](/docs/macros/mv_enc_func) macros. The virtualizer handles the generation of a uniquely hardened luau interpreter implemented in luau and transpiles virtualized blocks to it. Each script has a completely unique instruction set with hot-patching mnemonics, shuffled opcode encoding and behavior. + +{{% alert context="info" text="**Note**: This requires a paid plan to enable, otherwise the macros act as no-ops" /%}} + +Currently the only child option is 'Virtualize Script' which will wrap the entire script in an `MV_VM` macro, effectively marking the entire script (excluding [MV_OMIT](/docs/macros/mv_omit) blocks).