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

The BSP tag contains geometry/structure data about a level and can be thought of as the "foundation" model without any dynamic objects or scenery decorations. Campaign missions tend to be comprised of multiple BSPs for each large section, while multiplayer maps use just one.

BSPs are modeled in 3D software like Blender.

Zone sets

Unlike Halo 1 and 2, Halo 3 can have multiple BSPs loaded at a time. Combinations of BSPs are called zone sets and are set up in the scenario tag using Guerilla. Zone sets may be created for gameplay purposes, cinematics, or debugging. You can switch between BSPs and zone sets using Ctrl+B in Sapien.

Related script functions and globals:



returns the current zone set


returns the current zone set

(game_initial_zone_set <long>)

debug map launching: sets the initial bsp for the next map.

(prepare_to_switch_to_zone_set <zone_set>)

prepare for switch to zone set

(switch_map_and_zone_set <string> <long>)

switches to a different scenario and zone set

(switch_zone_set <zone_set>)

switches to a different zone set

(zone_set_trigger_volume_enable <string_id> <boolean>)

enables/disables the trigger volume(s) with the given name that cause zone set switches


Clusters are spaces in the BSP which are separated by portals. This is both done as an optimization and to assign localized effects in Sapien, where cluster points are analogous to cluster properties from H1 Sapien. Assignable properties are: