Halo 3 Editing Kit

This page is incomplete! You can contribute information using GitHub issues or pull requests.

The Halo 3 Editing Kit (H3EK) is the official set of tools for creating custom content for the MCC version of Halo 3. It was first released by 343 Industries alongside MCC Season 8. Similarly to the mod tools for Halo 1 and 2 it is ultimately based on the old internal tools used by Bungie during the development of Halo 3, with modifications made during the porting of the game to MCC and some changes to make them more user-friendly.

Unlike the H1A-EK you do need to own Halo 3 on Steam to gain access to the toolkit.

Getting started

Pictured: Location of the mod tools in the steam library.

  1. Ensure you own Halo 3 on Steam, tools are only accessible if you own the Steam version.
  2. Download the tools using Steam, you might need to install Steam first.
  3. Follow the on screen prompts to download the tools.
  4. Once the tools are done downloading you can find them in your library in the tools section.
  5. Right click the entry for the mod tools, select the "Manage" context menu entry then select the "Browse local files" subentry.
  6. Read README_MODDING.txt and follow any further instructions contained within it. Extract both tags.zip and data.zip to the root of the mod tools folder.
  7. (Optional) Check out the guides hub to learn more about modding or install a launcher like Osoyoos if you don't like using the command line.

Major changes from H2

Naturally there is multitude of changes compared to H2 as the engine underwent a major revision, this document endeavours to list the major ones.

  • Tools now are all 64-bit, no more out of memory errors unless you actually run out of memory.
  • The graphics and tag subsystems went through major revisions.
  • Structures can no longer be created using JMS files, you need to use ASS files.
  • Tag import info is not stored in a tag block but in a separate tag stream
  • Debug logs are not saved in a single folder anymore, allowing you to run multiple tools at once without confusing logs.
  • Shader tag creation was streamlined, you no longer need to select a template.
  • If a shader template does not exist then it will be autogenerated in Sapien. This does not apply to packaged maps or MCC currently so make sure your shaders use existing templates.
  • Lightmap baking is usually faster.
  • Multiple structure tags can be loaded at once, the basic subdivision of a scenario is now the zone set.
  • A fancy new green loading screen.

Known issues

  • Resource sharing is currently not supported.
  • Halo 3 custom maps require that EAC is turned off to load
  • Halo 3 custom maps requires that the map info matches the map it is replacing to load. This means having the same campaign and map ID. These values can be found at the top of the scenario tag.
  • Single threaded lightmapping is not supported, you need to use the multi-process solution. This can be run with only a single client if only using one core is desired.
  • Sound playback doesn't work in the tools. Load your map in MCC if you need to test sound.
  • Sound importing doesn't work in the current build so you are limited to the sounds that Halo 3 MCC ships with.
  • A main menu can't load all maps so you will need to use init.txt or the developer console to load scenarios in the standalone build.
  • Guerilla uses red text and greyed out folders for all tags - this doesn't mean there is something wrong with your tags it's just a graphical issue.