MoonVeil-Docs/content/docs/options/virtualization.md
2025-07-05 03:11:10 -05:00

19 lines
1.1 KiB
Markdown

---
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" /%}}
The following child options are available:
- `Virtualize Script`: Wrap the entire script in an `MV_VM` macro, effectively marking the entire script (excluding [MV_OMIT](/docs/macros/mv_omit_function) blocks).
- `Environment check`: Will perform some basic anti-tamper checks, can break some environments
- `Debug VM`: Enables VM error debugging; DO NOT USE FOR SHARED SCRIPTS