--- 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_function) blocks).