Skip to content

Megalo versions

Halo: Reach on MCC uses a newer megalo scripting build than Xbox 360 Title Update 1. @blamnetwork/megalo supports two Megalo versions for compile and decompile; older Reach builds are documented for opcode reference only.

Megalo versionIDTypical use
Reach MCCmccMCC Reach gametypes and custom variants (default)
Xbox 360 TU1tu1Legacy Xbox 360 Reach content

Retail launch (encoding version 106) and TU1 (107) share the same action opcode table. See 106 - Halo: Reach Release and 107 - Halo: Reach TU 1 for build-specific variant layout notes.

ts
import { getMegaloVersion, mccVersion, tu1Version } from "@blamnetwork/megalo";

// getMegaloVersion selects a Megalo version by profile id
const tu1 = getMegaloVersion("tu1");
const program = tu1.decompileGameVariant(variant);
const recompiled = tu1.compileGameVariant(program, variant);

mccVersion and tu1Version are the same handlers exposed as named exports. Version pages are in Megalo Versions; per-opcode reference pages are listed under Actions in the sidebar.

MCC vs TU1 differences

MCC adds megalo features that do not exist on Xbox 360 — bit-shift math operators, temporary explicit references, survival/firefight flags, and additional action types. Scripts that use MCC-only features cannot be compiled for TU1 without changes.

For BLF-level conversion between builds, use convert_reach_gametype from @blamnetwork/blf/helpers.

See also the Megalo MCC changes page in the blf docs for a feature-level comparison.