TSG Forge Wiki
  • Welcome
  • Forge
    • Forge Basics and UI
      • Loading Into Forge
        • Forge Canvases
        • Baked-In Map Data
      • Forge Interface
        • Object Browser
          • Forge Object List
        • Object Properties
        • Folders
          • Basic Folder Structure
          • Advanced Folder Structure
        • Map Options
        • Tool Settings
          • Debug Element Display Options
      • Controls and Shortcuts
      • Coordinate System and Spaces
      • Working with Objects
      • Editor Modes
      • Saving Assets
      • Forge Terminology
    • Layout
      • Level Design
        • Blockout Best Practices
        • Metrics
          • Level Geometry Metrics
          • Map Scaling
          • Movement and Player Character Info
        • Terrain
          • TI and Non-TI Terrain
          • Terrain Guidelines
        • Planning the Location and Orientation of Your Map
        • Designing For Halo
      • Level Art
        • Creating an Art Palette
        • Art Techniques
    • Spawning
      • Initial Spawning
        • Team Intro Spawns
        • Initial Spawn Points
        • Backup Spawn Points
      • Respawning
        • Respawn Points
          • Respawn Point Count Reference
        • Reviving a Player
      • Spawn Influence
        • Spawn Volumes
          • FFA & Spawn Volumes
          • Weighting Respawn Volumes (old)
        • Player-Based Spawn Influence
      • Spawn Order
    • Gameplay
      • Sandbox
        • Weapons
          • All Weapons
            • Weapon Classes
            • Variants (old)
          • Weapon Spawning
            • Weapon Racks
            • Weapon Pads
            • Weapon Trunks
            • Classic Weapon Spawns
            • Weapon Pods
            • Weapon Objects
          • Weapon Data
            • Weapon Time To Kill
            • Weapon Rate of Fire and Reload Speeds
            • Weapon Single Round Damage
            • Weapon Projectile Behavior and Leading Ranges
            • Weapon Aim Assist Cone Data
        • Equipment
          • All Equipment
            • Equipment Tiers
            • Fusion Coils (old)
          • Equipment Spawning
            • Equipment Dispensers
            • Power Equipment Dispensers
            • Classic Equipment Spawns
            • Equipment Pods
          • All Grenades
          • Grenade Spawning
            • Grenade Dispensers
            • Classic Grenade Spawns
            • Grenade Objects
        • Vehicles
          • All Vehicles
            • Vehicle Classes
          • Vehicle Spawning
            • Vehicle Spawners
            • Classic Vehicle Spawns
            • Vehicle Objects
          • Vehicle Data
            • Vehicle Repair Thresholds
            • Rounds Required to Pass Vehicle Repair Thresholds
            • Vehicle Damage Sections
        • Ordnance Pods
          • Ordnance Pod Count Reference
        • Spawn Properties
          • 343 Default Spawn Properties Reference
      • Cameras
        • Map Intro Cameras
          • Intro Cameras in Forge (old)
        • Winning Team Outro
      • Launchers and Lifts
      • Teleporters
      • Audio
        • Audio Emitters
        • 3D Audio
        • Optimizing Audio Generation
        • Building Audio
          • Audio Build Errors
      • Named Location Volumes
      • Containment
        • Blockers
        • Kill Zones
        • Safe Volumes
    • Modes
      • Slayer
      • Capture The Flag
        • Standard CTF
        • One Flag CTF
        • Neutral CTF
        • BTB:CTF
        • Husky Raid
        • Capture The Flag (old)
      • Strongholds
      • King of The Hill
      • Oddball
      • Firefight
        • Firefight KOTH
          • Mode Options
        • Firefight Custom
      • Infection
      • Land Grab
      • Attrition
        • Dodgeball
        • Elimination
      • Extraction
      • Total Control
      • Stockpile
      • Big Team Battle Heavies
      • Minigame
    • Nav Mesh
      • Nav Objects
        • Nav Seed Points
        • Nav Helpers
        • Nav Cutters
        • Bot Nav Markers
      • Nav Mesh Generation
        • Nav Mesh Generation Root Points
        • Optimizing Nav Mesh Generation
          • Hiding Objects During Nav Mesh Generation (old)
        • Building Nav Mesh
          • Fixing Nav Mesh Build Issues
          • How To Use Nav Mesh (old)
      • NPC Units
        • Bots
          • Bot Difficulties
          • Bot Spawning
        • AI
          • All AI Character Types
          • AI Spawning
            • AI Droppod Spawner
            • AI Phantom Spawner
            • AI Spawner
            • AI Vehicle Spawner
        • Behavior
        • Ambitions
        • Max Jump Heights and Distances
    • Lighting
      • Settings, Object-Based Lighting
        • Basic Light Settings
        • Minimal Roughness
        • Near/Far Begin
        • First Person Contact Shadows
        • Cone
        • Animation
        • Oriented Bounding Box (OBB)
        • Area Light
        • Light Group
        • Light Objects (old)
      • Settings, Global Lighting
        • Sun
        • Sky
        • Light Bounce
        • Fog
        • Fog (old)
        • Tool Settings (old)
        • Light Bounce (old)
        • Sunlight (old)
        • Sky Rendering (old)
        • Sunlight & Sun Direction (old)
      • Lighting Modifiers
        • Light Probes
        • Reflections
          • Reflection Volumes
            • Building Reflection Volumes
        • Light Probe Marker (old)
        • Level Bound Probes (old)
        • Reflection Volumes (old)
          • Cubemaps
      • Building Lighting
        • Light Probe Blending Issues
      • FX
        • Lighting FX Objects
        • FX-Emitting Objects
    • Standards
      • Mode Setup
        • Arena
        • Ranked
        • Big Team Battle
        • Squad Battle
        • Free For All
      • Map Requirements
  • Scripting
    • Scripting Basics and UI
      • Node Graph Interface
        • Node Browser
        • Graph Options
        • Global Log
        • Budget
      • Controls and Shortcuts
      • Working with Nodes
      • Script Brains and Mode Brains
      • Node Graph Properties
      • Scripting Terminology
    • Nodes
      • AI
        • Combine Squad Overrides
        • Get AI Units From Squad
        • Get All AI Units
        • Get All AI Units On Team
        • Get All Squads
        • Get All Squads On Team
        • Get Squad Definition From AI Spawner
        • Get Squad From AI Unit
        • Kill All Squads
        • Kill Squad
        • Spawn Squad Through Definition
        • Squad Overrides Behavior
        • Squad Overrides Identification
        • Squad Overrides Spawn Logic
        • Trigger AI Spawner
      • AI ADVANCED
        • Ally Squad With FFA Player
        • Assign AI Unit To Spawned Squad
        • Assign Squad To Team
        • Assign Squad To Zone
        • Get AI Character Type
        • Get All AI Spawners
        • Get Available AI Unit Count
        • Get Is AI
        • Get Squad AI Unit Count
        • Get Squad Combat State
        • Get Squad Definition AI Unit Count
        • Get Squad Has Squad Label
        • Get Squad Team
        • Get Squads From Spawner
        • Get Squads With Squad Label
        • Is AI Unit Of Species
      • AI MODIFIERS
        • Apply Undetectable To AI
        • Apply Valhalla
        • Get AI Targetable Object List
        • Modify AI Targetable List
        • Modify AI Targetable Object Methods
        • Set AI Difficulty
        • Set AI Unit Inactive
        • Set AI Unit Magic Sight
        • Set AI Unit Perception
        • Set All Healthbars Visible
        • Set Healthbar Visible
        • Set Squad Follow Object
        • Set Squad Stop Following
        • Trigger Grunt Hug
      • AI WAVES
        • Add Wave To Wave Manager
        • Compare Wave Manager
        • Compare Wave Type
        • Compare Wave Victory Reason
        • End Current Wave
        • Get Current Wave Status
        • Get Wave Manager Status
        • Remove Upcoming Waves
        • Wave
        • Wave Options
      • AUDIO
        • Fade Current Music Track For All Players
        • Fade Current Music Track For Player
        • Fade Current Music Track For Team
        • Play 3D Audio For All Players
        • Play 3D Audio For Opposing Teams
        • Play 3D Audio For Team
        • Play Announcer Voiceover For All Players
        • Play Announcer Voiceover For Player
        • Play Announcer Voiceover For Team
        • Play Music Track For All Players
        • Play Music Track For Player
        • Play Music Track For Team
        • Play Nearing Victory Audio For All Players
        • Register Audio Zone
        • Set Object 3D Audio Loop
        • Stop Music Track For All Players
        • Stop Music Track For Player
        • Stop Music Track For Team
        • Stop Object 3D Audio Loop
        • Unregister Audio Zone
      • BOTS
        • Add Bot
        • Add Bot Ambition To Object
        • Ambition Type: Deliver
        • Ambition Type: Guard
        • Ambition Type: Interact
        • Ambition Type: Pickup
        • Bot Ambition
        • Bot Difficulty
        • Get All Bots
        • Get All Bots On Team
        • Get Bot Is Difficulty
        • Get Is Bot
        • Remove All Bots
        • Remove Bot Ambitions From Object
        • Remove Specific Bot From Match
      • DEATH CONTEXT
        • Was AI Killer
        • Was Assisted Kill
        • Was Character Type
        • Was Grenade Kill
        • Was Last AI Unit In Squad
        • Was Melee Kill
        • Was Vehicle Kill
        • Was Weapon Kill
        • Was With Grenade Type
        • Was With Specific Vehicle
        • Was With Specific Weapon
        • Was With Vehicle Type
        • Was With Weapon Type
      • DEBUG
        • Print Boolean To Killfeed
        • Print Control State To Killfeed
        • Print Number To Killfeed
        • Print Player To Killfeed
        • Print Team To Killfeed
        • Print Vector3 To Killfeed
        • Print Victory Reason To Killfeed
      • EVENTS
        • On Game Start
        • On Gameplay Start
        • On Map Intro
        • On Object Damaged
        • On Object Destroyed
        • On Object Entered Area
        • On Object Exited Area
        • On Object Spawned
        • On Round End
        • On Round Start
        • On Vehicle Entered
        • On Vehicle Exited
        • On Vehicle Hijacked By AI
        • On Vehicle Hijacked By Player
        • On Vehicle Overturned
      • EVENTS AI
        • On AI Unit Killed
        • On Any Wave End
        • On Any Wave Start
        • On Squad Arrived
        • On Squad Arrived At Specific Zone
        • On Squad Remaining Percent
        • On Squad Spawned
        • On Squad Spawned With Squad Label
        • On Squad State Changed
        • On Wave End
        • On Wave Start
      • EVENTS CUSTOM
        • Every N Seconds
        • On Custom Equipment A Used
        • On Custom Equipment B Used
        • On Custom Equipment C Used
        • On Custom Equipment D Used
        • On Custom Event
        • On Custom Event, Global
        • On Custom Event, Global Async
        • On Object Interacted
        • On Stopwatch Reaches N Seconds
        • Trigger Custom Event
        • Trigger Custom Event, Global
        • Trigger Custom Event, Global Async
      • EVENTS GENERIC OBJECTIVES
        • On Generic Ball Dropped
        • On Generic Ball Pickup
        • On Generic Flag Carrier Killed
        • On Generic Flag Dropped
        • On Generic Flag Picked Up
        • On Generic Flag Reset
        • On Generic Flag Scored
        • On Generic Flag Spawned
        • On Generic Skull Dropped
        • On Generic Skull Pickup
        • On Generic Zone Capture Complete
        • On Generic Zone Capture Reset
        • On Generic Zone Capture Secured
        • On Generic Zone Capture Start
        • On Generic Zone Contested End
        • On Generic Zone Contested Start
        • On Generic Zone Entered
        • On Generic Zone Exited
        • On Generic Zone Expired
        • On Generic Zone Incoming
        • On Generic Zone Neutralize Reset
        • On Generic Zone Neutralize Start
        • On Generic Zone Neutralized
        • On Generic Zone Online
        • On Generic Zone Score End
        • On Generic Zone Score Start
        • On Generic Zone Score Tick
        • On Generic Zone State Changed
        • On Power Seed Dropped
        • On Power Seed Picked Up
        • On Shrinking Zone Start
        • On Shrinking Zone Stop
        • On Shrinking Zone Tick
        • On Socket Planted
        • On Socket Removed
      • EVENTS INVENTORY
        • On Equipment Pickup
        • On Equipment Used
        • On Grenade Pickup
        • On Grenade Throw
        • On Repair Field Healed
        • On Weapon Added
        • On Weapon Dropped
        • On Weapon Low Ammo
        • On Weapon No Ammo
        • On Weapon Pickup
        • On Weapon Refill Pickup
      • EVENTS MODES
        • On Capture Zone Capture Complete
        • On Capture Zone Capture Reset
        • On Capture Zone Capture Secured
        • On Capture Zone Capture Start
        • On Capture Zone Contested End
        • On Capture Zone Contested Start
        • On Capture Zone Entered
        • On Capture Zone Exited
        • On Capture Zone Incoming
        • On Capture Zone Lifetime Expired
        • On Capture Zone Neutralize Reset
        • On Capture Zone Neutralize Start
        • On Capture Zone Neutralized
        • On Capture Zone Online
        • On Capture Zone Score End
        • On Capture Zone Score Start
        • On Capture Zone Score Tick
        • On Capture Zone State Changed
        • On Extraction Zone Arming Completed
        • On Extraction Zone Arming Interrupted
        • On Extraction Zone Arming Started
        • On Extraction Zone Conversion Completed
        • On Extraction Zone Conversion Interrupted
        • On Extraction Zone Conversion Started
        • On Extraction Zone Extraction Completed
        • On Flag Captured
        • On Flag Carrier Killed
        • On Flag Carrier Spotted
        • On Flag Dropped
        • On Flag Incoming
        • On Flag Picked Up
        • On Flag Reset
        • On Flag Spawned
        • On New VIP
        • On Oddball Carrier Killed
        • On Oddball Carrier Spotted
        • On Oddball Dropped
        • On Oddball Incoming
        • On Oddball Picked Up
        • On Oddball Reset
        • On Oddball Score Tick
        • On Oddball Spawned
        • On Player Infected
        • On Player Level Up
        • On VIP Killed
      • EVENTS PLAYERS
        • On Medal Awarded
        • On Player Crouch
        • On Player Exited
        • On Player Joined
        • On Player Killed
        • On Player Mark
        • On Player Spawned
        • On Player Team Change
      • GAME MODE
        • Adjust Lifepool
        • Adjust Personal Score
        • Adjust Player Points
        • Adjust Team Points
        • Clear Team VIP
        • End Round
        • End Round - All Lose
        • End Round - All Tie
        • End Round - Winning Player
        • End Round - Winning Team
        • Get Current Round
        • Get Is Forge Mode
        • Get Is Game Mode
        • Get Is VIP
        • Get Lifepool Lives Remaining
        • Get Max Rounds
        • Get Personal Score
        • Get Player Points
        • Get Points To Win
        • Get Round Time
        • Get Team Points
        • Set Points To Win
        • Set Round Time
        • Set VIP
      • GAME MODE FIREFIGHT
        • End Firefight Custom Set
        • Fail Firefight Custom Perfect Set
        • Get Firefight Boss Spawners
        • Get Firefight Custom Set State
        • Get Firefight Wave Spawners
        • On Firefight Set End
        • On Firefight Set Start
        • Override AI Spawner
      • GENERIC OBJECTIVES
        • Activate Delivery Point
        • Activate Flag Spawn
        • Activate Generic Zone
        • Activate Shrinking Zone
        • Add Player To Allow List
        • Deactivate Delivery Point
        • Deactivate Flag Spawn
        • Deactive Generic Zone
        • Deactive Shrinking Zone
        • Get Generic Zone Control State
        • Get Generic Zone Progress
        • Get Players In Generic Zone
        • Remove Player From Allow List
      • INVENTORY
        • Add Player Ammo - Equipped
        • Add Player Ammo - Unequipped
        • Are Same Weapon Type
        • Drop Specific Weapon
        • Drop Weapon Of Type
        • Empty Player Ammo
        • Get Is Holding Specific Weapon
        • Get Is Holding Weapon Type
        • Get Is Weapon Type
        • Get Player Holding Item
        • Get Player Weapons
        • Get Unit Holding Item
        • Get Unit Weapons
        • Get Weapon Magazine Capacity
        • Get Weapon Magazine Rounds
        • Get Weapon Type
        • Give Player New Weapon
        • Give Player Specific Weapon
        • Give Unit New Weapon
        • Give Unit Specific Weapon
        • Refill Player Ammo
        • Set Player Weapon Lowered
        • Switch To First Weapon Of Type
      • INVENTORY EQUIPMENT
        • Adjust Player Equipment Charges
        • Adjust Player Grenades
        • Are Same Equipment Type
        • Empty Player Equipment
        • Empty Player Grenades
        • Get Equipment Type
        • Get Is Holding Any Equipment
        • Get Is Holding Equipment Type
        • Get Loadout Grenade Count
        • Get Player Equipment Charges
        • Get Player Grenade Count
        • Give Player New Equipment
        • Refill Default Grenades
        • Refill Player Equipment
        • Set Player Equipment Charges
      • LISTS
        • Add Item To Generic List
        • Combine Generic Lists
        • Declare Generic Item Variable
        • Declare Generic List Variable
        • For Each Generic Item
        • Generic List
        • Get Generic Item At Index
        • Get Generic Item Variable
        • Get Generic List Size
        • Get Generic List Variable
        • Get N Items In Generic List
        • Get Shared Items
        • Get Unshared Items
        • Item Is In Generic List
        • Remove Item From Generic List
        • Set Generic Item Variable
        • Set Generic List Variable
      • LISTS CASTS
        • Cast To Boolean
        • Cast To Equipment Type
        • Cast To Grenade Type
        • Cast To Nav Marker
        • Cast To Number
        • Cast To Object
        • Cast To Squad
        • Cast To Squad Definition
        • Cast To String
        • Cast To Team
        • Cast To UI Message
        • Cast To User Label
        • Cast To Vector3
        • Cast To Vehicle Type
        • Cast To Wave
        • Cast To Wave Manager
        • Cast To Weapon Type
      • LOGIC
        • Boolean Logic
        • Boolean NOT
        • Branch
        • For Each Bot
        • For Each Object
        • For Each Player
        • For N Iterations
        • Increment Number Variable
        • Toggle Boolean Variable
        • Wait For N Seconds
      • LOGIC COMPARE
        • Compare
        • Compare Character Type
        • Compare Control States
        • Compare Equipment Types
        • Compare Grenade Types
        • Compare Medals
        • Compare Squad State
        • Compare Squads
        • Compare Teams
        • Compare Vehicle Types
        • Compare Weapon Types
      • MATH
        • Absolute Value
        • Add
        • Add Vectors
        • Convert Degrees To Radians
        • Convert Radians To Degrees
        • Divide
        • Get Pi
        • Get Random Rotation
        • Get Vector Axis Value
        • Get Vector Length
        • Multiply
        • Normalize Vector
        • Random
        • Random Boolean
        • Round To Whole Number
        • Scale Vector
        • Square Root
        • Subtract
        • Subtract Vectors
        • Trigonometry - ArcSin/ArcCos
        • Trigonometry - ArcTan
        • Trigonometry - Cos/Sin/Tan
        • Vector Cross Product
        • Vector Dot Product
      • OBJECTS
        • Add Object To List
        • Are Same Object
        • Clone Object
        • Combine Object Lists
        • Damage Object
        • Delete Object
        • Get All Objects By Label And Spawn Order
        • Get All Objects By Spawn Order
        • Get All Players With Spawn Order
        • Get All Spawn Points
        • Get All Spawn Points For Team
        • Get First N Objects
        • Get First Object By Label
        • Get Is Dead
        • Get Is Valid Object
        • Get Last N Objects
        • Get List Size
        • Get Object Health
        • Get Object Shield
        • Get Object Spawn Order
        • Get Object Team
        • Get Object At Index
        • Get Objects By Label
        • Get Objects In Area Monitor
        • Get Objects In Prefab
        • Get Random N Objects
        • Get Shared Objects
        • Get Unique Objects
        • Object Is In List
        • Register Object For Kill Volume Events
        • Remove Object From List
        • Set Object Health
        • Set Object Health Percent
        • Set Object Physics Mode
        • Set Object Spawn Order
        • Set Object Team
        • Set Object Team To Neutral
        • Set Spawn Point Enabled
        • Spawn Object
      • OBJECTS FILTERS
        • Does Player Pass Object Filter
        • Remove All Filters On Object
        • Set Player Filter On Object
        • Set Team Filter On Object
      • OBJECTS TRANSFORM
        • Get Object Angular Velocity
        • Get Object Forward
        • Get Object Position
        • Get Object Rotation
        • Get Object Up
        • Get Object Velocity
        • Move Object To Transform
        • Reset Object
        • Rotate Object To Point
        • Set Object Angular Velocity
        • Set Object Position
        • Set Object Rotation
        • Set Object Velocity
        • Translate Object To Point
      • PLAYERS
        • Activate Spartan Tracking
        • Are Same Player
        • Block Player Spawns
        • Get All Players
        • Get All Players On Team
        • Get Is Crouching
        • Get Is Grappling
        • Get Is In Shroud Screen
        • Get Is Lunging
        • Get Is Mark Overridden
        • Get Is Overshield On
        • Get Is Player
        • Get Is Translocating
        • Get Is Zoomed
        • Get Number Of Teams
        • Get Number Of Players
        • Get Player Aiming Vector
        • Get Player FFA Allegiance
        • Get Player Overshield
        • Get Player Team
        • Get Random Player
        • Get Respawn Penalty
        • Revive All Players
        • Revive All Players On Team
        • Revive Player
        • Set Player Camo
        • Set Player FFA Allegiance
        • Set Player Mark Override
        • Set Player Overshield
        • Set Player Team
        • Set Player VFX
        • Set Respawn Penalty
        • Teleport Player
        • Unblock Respawns For Player
      • SKULLS
        • Cast To Skull
        • Compare Skulls
        • Declare Skull Variable
        • Get Skull Enabled
        • Get Skull Variable
        • Set Skull Enabled
        • Set Skull Variable
        • Skull
      • STOPWATCHES
        • Create Stopwatch
        • Get Stopwatch Elapsed Time
        • Pause Stopwatch
        • Reset Stopwatch
        • Restart Stopwatch
        • Start Stopwatch
      • TRAITS
        • Apply Trait Set
        • Apply Trait Set For Seconds
        • Apply Trait Set Until Death
        • Combine Trait Lists
        • Declare Trait Set
        • Get Random N Traits
        • Remove All Trait Sets
        • Remove Trait Set
        • Trait List
      • TRAITS AI
        • Trait AI: Bonus Health
        • Trait AI: Bottomless Clip
        • Trait AI: Damage Resistance
        • Trait AI: Health Recharge
        • Trait AI: Movement Speed
        • Trait AI: Movement Speed With Turret
        • Trait AI: Prevent Weapon Firing
        • Trait AI: Vampirism
        • Trait AI: Weapon Damage
      • TRAITS PLAYER
        • Apply Player Trait Set
        • Apply Player Trait Set For Seconds
        • Apply Player Trait Set Until Death
        • Remove All Player Trait Sets
        • Remove Player Trait Set
        • Trait: Bonus Health
        • Trait: Bonus Shield
        • Trait: Bottomless Clip
        • Trait: Clamber Enabled
        • Trait: Clamber Speed
        • Trait: Damage Resistance
        • Trait: Deathless
        • Trait: Equipment Pickup
        • Trait: Grenade Damage
        • Trait: Grenade Detonation Radius
        • Trait: Grenade Impulse
        • Trait: Grenade Pickup
        • Trait: Headshot Protection
        • Trait: Health Recharge
        • Trait: Infinite Ammo
        • Trait: Jump Height
        • Trait: Loadout Weapon Overrides
        • Trait: Melee Damage
        • Trait: Melee Impulse
        • Trait: Melee Recovery Speed
        • Trait: Motion Tracker Range
        • Trait: Motion Tracker Visible
        • Trait: Movement Speed
        • Trait: Movement Speed With Turret
        • Trait: Player Gravity
        • Trait: Prevent Grenade Throwing
        • Trait: Prevent Weapon Firing
        • Trait: Reload Speed
        • Trait: Shield HUD Visible
        • Trait: Shield Recharge
        • Trait: Slide Speed
        • Trait: Sprint Enabled
        • Trait: Sprint Reload Enabled
        • Trait: Sprint Resets Recharge
        • Trait: Sprint Speed
        • Trait: Third Person Gameplay
        • Trait: VFX - Active Camouflage
        • Trait: VFX - Overshield
        • Trait: Vampirism
        • Trait: Vehicle Passenger Only
        • Trait: Weapon Damage
        • Trait: Weapon Dropping
        • Trait: Weapon Pickup
        • Trait: Weapon Switch Speed
      • UI
        • Clear Splash For Player
        • Create UI Message
        • Create UI Message [B]
        • Create UI Message [C]
        • Push Splash To Player
        • Set Objective Banner For Player
      • UI NAV MARKERS
        • Add Trigger Volume Docking
        • Add Trigger Volume Visibility
        • Attach Nav Marker To Object
        • Clear All Visibility
        • Clear Distance Visibility
        • Clear Nav Marker Progress Team
        • Clear Nav Marker Text
        • Clear Nav Marker Team
        • Get Nav Marker Progress
        • Nav Marker
        • Nav Marker Global
        • Negate Line Of Sight To Object Center Visibility
        • Negate Line Of Sight To Player Visibility
        • Negate Player Distance Visibility
        • Negate Player Docking
        • Negate Player Visibility
        • Negate Sprinted Recently Visibility
        • Negate Team Distance Visibility
        • Negate Team Docking
        • Negate Team Visibility
        • Negate Trigger Volume Docking
        • Negate Trigger Volume Visibility
        • Remove All Docking
        • Remove All Player Filters
        • Remove All Team Filters
        • Remove All Trigger Volume Visibility
        • Remove Line Of Sight To Object Center Visibility
        • Remove Line Of Sight To Player Visibility
        • Remove Player Docking
        • Remove Player Visibility
        • Remove Sprinted Visibility
        • Remove Team Docking
        • Remove Team Offscreen Visibility
        • Remove Team Visibility
        • Remove Took Damage Visibility
        • Remove Trigger Volume Docking
        • Remove Trigger Volume From Docking
        • Remove Trigger Volume Visibility
        • Reset Distance Visibility Params
        • Set All Players Docking
        • Set Distance Visibility Params
        • Set Docking Order
        • Set Line Of Sight To Object Center Visibility
        • Set Line Of Sight To Player Visibility
        • Set Nav Marker Enabled
        • Set Nav Marker Icon
        • Set Nav Marker Message
        • Set Nav Marker Position
        • Set Nav Marker Progress
        • Set Nav Marker Progress Team
        • Set Nav Marker Team
        • Set Nav Marker Team Visibility
        • Set Nav Marker Text
        • Set Nav Marker Type
        • Set Player Distance Visibility
        • Set Player Distance Visibility Params
        • Set Player Docking
        • Set Player Visibility
        • Set Sprinted Visibility
        • Set Team Distance Visibility
        • Set Team Distance Visibility Params
        • Set Team Docking
        • Set Team Visibility
        • Set Team Offscreen Visibility
        • Set Took Damage Visibility
        • Set Visibility Filter Type
      • UNITS
        • Are Same Unit
        • Get All Units
        • Get All Units On Team
        • Get Is Airborne
        • Get Is Camouflaged
        • Get Is Detected
        • Get Is Detected By Team
        • Get Is In Knockback
        • Get Random Unit
        • Get Unit Aiming Vector
        • Get Unit FFA Allegiance
        • Get Unit Team
        • Set Unit Camo
        • Teleport Unit
      • VARIABLES ADVANCED
        • Boolean Variable
        • Equipment Type Variable
        • Grenade Type Variable
        • Number Variable
        • Object List Variable
        • Object Variable
        • Squad Definition Variable
        • Squad Variable
        • String Variable
        • Team Variable
        • UI Message Variable
        • User Label Variable
        • Vector3 Variable
        • Vehicle Type Variable
        • Wave Manager Variable
        • Wave Variable
        • Weapon Type Variable
      • VARIABLES BASIC
        • Area Monitor
        • Boolean
        • Equipment Type
        • Grenade Type
        • Identifier
        • Number
        • Object List
        • Object Reference
        • String
        • Team
        • User Label
        • Vector3
        • Vehicle Type
        • Weapon Type
        • Weapon Type, Combination
      • VARIABLES LITERALS
        • Audio Zone Effect
        • Character Type
        • Control State
        • Game Mode
        • Label
        • Medal
        • Movement Curve
        • Respawn Message
        • Scope
        • Species Type
        • Weapon Addition Method
      • VEHICLES
        • Are Same Vehicle Type
        • Attempt To Enter Vehicle
        • Detach Item From Razorback
        • Flip Vehicle
        • Get Is Boarding
        • Get Is Driving Vehicle
        • Get Is Gunner In Vehicle
        • Get Is In Vehicle
        • Get Is Overturned
        • Get Is Passenger In Vehicle
        • Get Is Vehicle Type
        • Get Player Vehicle
        • Get Squared Vehicle Speed
        • Get Unit Vehicle
        • Get Vehicle Driver
        • Get Vehicle Enterable By Player
        • Get Vehicle Gunner
        • Get Vehicle Occupants
        • Get Vehicle Type
        • Kick Player From Vehicle
        • Kick Unit From Vehicle
        • Scale And Destroy Vehicle
        • Set Spawn In Vehicle For All Players
        • Set Spawn In Vehicle For Player
        • Set Vehicle Enterable By Player
    • Node Terminology
      • Bot Ambition
      • Bot Difficulty
      • Character Type
      • Control State
      • Death Context
      • Equipment Type
      • Grenade Type
      • Group Index
      • Medal
      • Nav Marker Terms
      • Species
      • Vehicle Type
      • Weapon Type
    • Node Data
      • Connection Pins
        • Pin Data Reference
          • Action Nodes
          • AI Nodes
          • AI Toolkit Nodes
          • Data Type Nodes
          • Event Nodes
          • Generic Nodes
          • Manipulation Nodes
          • Math Nodes
          • Trait Nodes
          • Unit Nodes
    • Scriptable Objects
      • Interactable Objects
        • Switches
        • Power Sockets
      • Generic Game Mode Objects
  • UGC
    • Metadata and File Management
      • Content Interface and Controls
        • Play Interface
        • Maps Interface
        • Details Interface
      • Working with Files
        • File Name
        • File Description
        • File Tags
        • File Screenshots
        • File Collaborators
        • File Credits
          • Removing a User From the File Credits
        • Editing Mode Options
        • Version Management
          • Copy Protection and Saving a Copy
          • Publishing a File
          • Bookmarking a File
          • Rating a File
          • Locking File Versions
          • Deleting a File or Version
      • Prefabs
        • Object Prefabs
        • Mode Prefabs
    • Content Browser
      • Browse All
        • HaloWaypoint - Browse
        • Cylix Guide - Discovery
      • Recommended
      • Popular Files
    • Multiplayer
      • Custom Games
      • Customs Browser
      • Bot Backfill
      • Stat Tracking Services
        • Leafapp
        • Spartan Record
        • Halo Data Hive
        • Halo Tracker
    • Theater
      • Finding Films
      • Watching Films
        • Theater Controls and Menus
  • Guides and Knowledge
    • Forge Know-how
      • Forge Tips and Tricks
        • Letter A Decal as a Blocker Object
        • Colored Boundaries
        • Reserving Budget For Gameplay Objects
        • Volumetric Fog Affects Brightness of Light Cones
        • Chain Link Fences
        • A Chunk's Guide to Level Design
        • Using The Canvas Bounds as a Soft Containment Measure
        • Forging On a Controller
        • Forging On a Mouse and Keyboard
        • Map Performance Optimizations
        • Creating Realistic Lighting
        • Art Techniques, Brick
        • Art Techniques, Forerunner
        • MP vs Non-MP Objects
        • Object Level of Detail
        • Applying Identical Positional Data Between Objects
        • Fixed vs Phased Physics
        • Using Boundaries to Visualize Object Placement
        • Forge Workflow Tips
        • Mitigating Z-Fighting With Objects
      • Forge Bugs
        • 0.7 Degree Rotation Bug
        • Incorrect Object Visual Model Scaling Bug
        • Static Universal Blockers Have Inconsistent Collision With Gamemode Objects
        • Interaction With Small Objects That Have a Complex Collision Mesh Causes Performance Loss
        • Broken Precision Movement
        • Welded Prefab Bugs
      • Forge Exploits
        • Bypassing 150-Object Prefab Limit
        • Bypassing Object Scaling Limits
        • Bypassing Copy Protection
        • Forge via Custom Game (UCN)
        • Using "nan" as the Value Instead of a Number
        • Applying Inaccessible Object Properties
      • Forge Misc
        • Forge Data
        • Forge Kit Objects
        • Hidden Forge Objects
    • Scripting Know-how
      • Scripting Tips and Tricks
        • Patterns
          • Telefragging
          • Checking Object Types
          • Deleting Dropped Weapons Using Scripts
          • For N Iterations Stack
          • Sending Fusion Coils Directly to Player's Hands
          • How to kill Players With Scripts
          • Mutate vs. Non-Mutate
          • Object Duplication Exploit
          • Object Pools
          • Pub-Sub
          • Referencing Thrown Grenades
          • Removing Nav Markers
          • Spawning Players in Vehicles
          • Creating a Spherical Boundary
          • Linking Multiple Switches to the same On Interacted Event
          • Recursive Functions
          • Polling Player Health
          • Managing Nav Markers
          • Using Custom Events and Variables Across Mode and Script Brains
        • Variables
          • Object Lists
          • Understanding Scope
        • Transforms
          • Object Forward and Up Vectors
        • Traits - Players
          • Shields
          • Traits
        • Equipment
          • Cancelling Custom Equipment Animation
        • Area Monitors
        • Bots
        • Video Tutorials
        • Weapon Combinations
      • Scripting Bugs
        • Invisible Nodes or Connections
        • Unpredictable Node Selection Movement
      • Scripting Exploits
      • Scripting Misc
    • UGC Know-how
      • UGC Tips and Tricks
        • Gathering Players in Open Lobbies
        • Handling Level Files
        • Handling Seemingly Corrupt File Versions
        • Saving an Entire Map Using Prefabs
      • UGC Bugs
        • Session Timeout Required for Adding Prefab Screenshots
        • Bookmarked Films Do Not Fetch Info Correctly
        • Mode Option Changes Stay Cached Until Game Reset
        • Inability to Start a Session
        • Bookmarked Files Stay On The Latest Published Version At The Time Of Bookmark
      • UGC Exploits
        • Creating Single-Object Prefabs
        • Loading Into Unpublished Maps
        • Watching Any Film
      • UGC Misc
        • Getting a Map In Matchmaking
          • Matchmaking Forger Discord Server
        • Special Earnable Rewards
        • Invalid Flagged Strings
  • Community
    • Content
      • Map/Mode Setup
        • tsg gamemodes
        • tsg sandbox
        • tsg mapSetup
        • tsg infectionSetup
        • tsg globalReflection
        • tsg navCutters
        • tsg outroCameraRig
        • tsg hiddenNamedLocations
        • tsg init
      • Debug Tools
        • tsg botDebug
        • tsg mapDebug
        • tsg respawnDebug
        • tsg lightingDebug
        • tsg audioDebug
      • Scripting Tools
        • tsg ai totems and kill tokens
      • Assets and Kits
        • tsg botsDriveVehicles
        • tsg haloRing
        • tsg unarmedFists
        • All Placeable Objects Gallery
        • tsg hackSwitch
        • tsg lootCaves
      • Modes
        • TSG Modes
          • Fiesta++
            • Thicc Raid
          • Kill Confirmed
            • Tag-N-Bag
          • Headhunter
          • Havens
          • Conquest
          • Sportsball
          • Warzone Fiesta
            • Supported Maps
        • Bot Backfill Modes
        • Mode Functionality Test Modes
        • Multi-Team Modes
        • Slipspace Arena
        • 4v4 Stockpile
      • External Resources
        • Other Halo/Forge Wikis
      • Misc Content
        • Forge Map Lore
    • The Scripter's Guild
    • Contributing to TSG Forge Wiki
      • Submitting Content to the Wiki
      • Style Guide
      • Folder template
        • Article Template
        • Article Template (No Explanation Text)
        • Discord Message Article Template
      • Markdown Formatting Rules
      • Official GitBook Feature Docs
      • Emoji Cheat Sheet
      • TODO
        • Blank page
  • External Tools
    • Blender2Forge Printer (B2FP)
      • Installation
      • Tutorials
        • "Prefabs" via MACHIN3tools
      • Support Discord
    • InfiniteMITM
      • InfiniteMITM GitHub
    • InfiniteUGCTool
      • InfiniteUGCTool GitHub
    • Infinite Runtime Tag Viewer
      • IRTV GitHub
  • Legacy Halo
    • READ ME!
    • Halo 5
      • Forge
        • Cubemaps
      • Scripting
        • Conditions
        • Actions
        • Numbers
        • Selection Filters
      • Guides & Tutorials
        • Forge
          • Articles
          • Videos
        • Scripting
          • Articles
            • Game Mode Design
          • Videos
    • Halo 4
      • Forge
        • Lighting
      • Guides & Tutorials
        • Articles
          • Game Mode Set Up
        • Videos
    • Halo Reach
      • Forge
        • Spawning
        • Tagging
          • Unorthodox Tagging
        • Visual Aides
      • Guides & Tutorials
        • Articles
        • Videos
    • Halo 3
      • Forge
      • Guides & Tutorials
        • Articles
          • Budget Glitch
        • Videos
    • Halo 2: Anniversary
      • Forge
        • Static Weapon Spawns
      • Guides & Tutorials
        • Articles
          • Framerate
        • Videos
Powered by GitBook
On this page
  • Mode Config
  • Wave Config
  • Minimum Object Placements
  • Configuring Hills
  • Configuring Spawners
  • Group Index
  • Subgroup Indexes
  • Match Flow
  • Set Start
  • Reinforcements
  • Boss Wave
  • Capture
  • Other Considerations
Edit on GitHub
Export as PDF
  1. Forge
  2. Modes
  3. Firefight

Firefight KOTH

How to configure your own Firefight KOTH modes and levels.

PreviousFirefightNextMode Options

Last updated 1 month ago

Mode Config

By default, the mode is set up with predetermined squad definitions and the overrides to allow this built-in config are enabled.

These settings can be changed to make the mode pull lists from the Mode Options, or from the level itself. By default, the mode will override the settings on spawners placed on the level and use a configuration that we cannot see nor edit provided by 343 as the stock behavior of the mode.

The stock mode options provides a robust experience with a variety of enemies preselected. You can still control the flow of combat by deciding *when* specific spawners would be used (using the Subgroup Index setting), and it doesn't require configuring spawners with enemies.

Using the custom waves gives players easy ways to create modes like Gruntpocalypse and expect to be able to play them on any level that is properly configured for the base mode. To use the custom waves in the game mode settings, Override Map AI Placements must be set to TRUE and Override AI Placements Source must be set to Custom. To use the settings of spawners to decide which enemies to spawn, Override Map AI Placements simply needs to be set to FALSE.

Wave Config

Wave Options
  • Custom Wave A

  • Custom Wave B

  • Custom Wave C

  • Custom Wave D

  • Custom Wave E

  • Custom Wave F

  • Custom Wave G

  • Standard Brutes 1

  • Standard Brutes 2

  • Standard Brutes 3

  • Standard Elites 1

  • Standard Elites 2

  • Standard Elites 3

  • Standard Grunts 1

  • Standard Grunts 2

  • Standard Grunts 3

  • Standard Hunters 1

  • Standard Hunters 2

  • Standard Jackals 1

  • Standard Jackals 2

  • Standard Jackals 3

  • Standard Jackal Sniper

  • Standard Marines 1

  • Standard Marines 2

  • Standard Marines 3

  • Standard Skimmers 1

  • Standard Skimmers 2

  • Standard Skimmers 3

Minimum Object Placements

  • 5 KotH Capture Zones w/ Label Firefight Objective and Firefight KOTH Include

    • Each one must have a unique Group Index, set from 1 to 5

  • 5 Zone Capture Plates* w/ Label Firefight Plate

    • To affiliate one with a hill, just place it inside that hill's boundary

  • 5 AI Spawners set to Team 2 w/ Label Firefight Spawner

    • If all of your spawners are only set to Subgroup Index 1 and/or Subgroup Index 2, only the spawners set to Subgroup Index 1 will trigger and they will only trigger as if they were set to Subgroup Index 1, even if they are also set to Subgroup Index 2***

      • Setting any spawners to Subgroup Index 3 will solve this issue

    • It will not matter what you set the enemies to on the spawner

    • There must be at least 1 each for Group Indexes 1-5

      • Generally, you would want to have many more than 1 spawner per Group Index

    • Triggered By Script should be set to ON

  • 1 Weapon Pad or Rack**

  • 1 Equipment Pad**

* Not required for the mode to function, but required for full UX and for Matchmaking standards ** Required because the "Weapon Drop" code can't run without them, which breaks the mode logic. &#xNAN;*** This is because there is currently an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10.

Configuring Hills

Aside from applying the Firefight Objective and Firefight KOTH Include labels, and setting the desired size of the boundary, each hill only needs the Group Index set. The Group Index is what determines the order of the hills as the game progresses.

  • Group Index 1 will always be the first, as this allows you to curate the player's experience at spawn and create more consistent experiences, which can make or break someone's enjoyment when they play your content for the first time.*

  • Group Indexes 2-10 will cycle randomly by default, but will progress in order if Sequential Sets is set to TRUE in the mode settings.*

    • If the hills are cycling randomly, they will only each be used once per cycle, after which they will all become eligible again for the next randomized cycle.

    • Subgroups 6-10 are not relevant unless you are designing a modified version of Firefight KOTH, they are not needed for the base experience.

* There is an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10. This should be expected to eventually be fixed.

Configuring Spawners

WARNING: It appears that duplicating spawners can cause issues with their Group Index configuration. If you are having issues with your spawners you can't explain and you created them by duplicating other spawners, it may be as simple as replacing them with freshly placed spawners from the menu.

Aside from setting up enemies for bespoke experiences, which is not required for stock Firefight KoTH, the important settings for Spawners are all in the Indexes section. To be clear, this means you only need to set up the enemies on the spawners themselves if you are using a variant of the mode that doesn't have Override Map AI Placements enabled.

Group Index

Group Index determines which hill the spawner will be affiliated with, which allows players to curate where enemies are coming from for each hill. Each spawner can only have a single Group Index.

Subgroup Indexes

Subgroup Indexes are different in that spawners can be assigned none or all of them. While Group Indexes determine which hill must be active for the spawner to be active, the Subgroup Index determines the juncture at which the spawner will be triggered during that phase.

Subgroup Index 1*

  • Triggered once, when the hill is incoming.

Subgroup Indexes 2-10*

  • Triggered in sequence as the enemies from the prior spawn event are defeated, looping back to the start after all subgroups with members have been triggered.

  • This sequence ends with the hill has reached 5% capture progress and the boss wave is spawned.

  • NOTE: Subgroup 2 is currently bugged. It works, but not by itself. Subgroup 3 must also be used on at least one spawner per hill for Subgroup 2 to function during that hill's phase.

* There is an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10. This should be expected to eventually be fixed.

Subgroup Index Boss

  • Triggered once, when the hill has reached 75% capture progress for the first time by Team 1.

  • The named enemy (a.k.a. the boss) will always attempt to spawn in a phantom spawner if there is one assigned to this Subgroup Index.

  • Because Indexes 2-10 cycle and any of them could be active, or becoming active, when the boss wave triggers, it is important to have phantom spawners not be assigned to any of Subgroups 2-10 if they are assigned to the boss wave and to also make sure that phantom spawners assigned to the boss wave would not collide with phantoms from that hill's other spawners.

Match Flow

Each phase of play consists of a hill spawning in and being captured, followed by progression to the next phase. In the mode settings, these phases are referred to as 'Sets'.

Hills and Spawners are assigned to each set using the Group Index setting. For an unmodified Firefight KotH, only Group Indexes 1-5 are relevant, but 6-10 will also work if used and paired with a properly configured mode variant.

Set Start

  • Hill Incoming Nav appears

  • "Initial Guards" spawn

    • The mode selects up to 4 spawners with the current Set's Group Index that are assigned to Subgroup Index 1 and triggers them.*

    • Less than 4 spawners being available will still function, but will reduce the number of AI that spawn. Smaller levels, like Live Fire, only use 3 spawners for Subgroup Index 1 for each Set.*

* There is an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10. This should be expected to eventually be fixed.

Reinforcements

  • Once about 2/3 of the Initial Guards have been defeated and 5% capture progress has been achieved by Team 1, reinforcements will begin to spawn, starting with spawners set to Subgroup Index 2.*

  • Similarly to how the initial guards are spawned, the mode will select up to 4 spawners to trigger.

  • As each group of reinforcements is defeated, the next assigned subgroup of spawners for that set will be triggered. When there are no more spawners assigned to higher subgroups, it will loop back around to checking for spawners assigned to Subgroup Index 2.*

    • If there are no spawners assigned for a given subgroup, that subgroup will be skipped.

* There is an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10. This should be expected to eventually be fixed.

Boss Wave

  • Once Team 1 has reached 75% capture progress, the Boss Wave triggers and no new reinforcements will be spawned for the current Set.

    • Because this can happen right after reinforcements spawn, this can cause spawners to be used in quick succession. This can cause issues with phantom spawners and in tight spaces with regular spawners.

  • The boss enemy themselves will be prioritized to spawn from a phantom spawner if one is available and will use a random (properly configured for the current set) spawner if one is not.

  • Spawners not used by the boss enemy during the boss wave will spawn support squads. Because of this, it is prudent to not spread these out too much, or the boss wave might be too easy.

  • Defeating the boss and their cadre does not automatically capture the hill, but it does put the hill in an 'accelerated capture' state, where capture progress is considerably faster.

Capture

  • Capturing the hill does not kill the boss and their cadre, leaving them for the player to deal with as they make their way to the next hill.

  • Once the hill has been captured, the next chosen Set is activated and its hill and initial guards are spawned in.

Other Considerations

Magic Sight should be set to ON for spawners that produce AI you want to ensure find the players and should be left disabled for spawners that produce AI that you want players to encounter more organically, like snipers that need to not see players unless they step into designated danger zones.

Live Fire and other small levels prepared by 343 only use Subgroup Index 1, 2, and Boss, while Deadlock (a BTB level) uses 1-5 and Boss. Use the scale of these levels and how complexly their subgroup index config is done as your metric for how much depth is needed to prepare the mode on your levels.

While 343-prepared Firefight levels seem to function just fine with only Subgroup Indexes 1, 2 and Boss set, this does not work when setting up the mode from scratch on your own levels. Subgroup Indexes 1, 2, and 3 must all be used at least once per Group Index for things to function properly.*

* This is because there is an off-by-one error, Subgroup Index 1 does nothing, Subgroup Index 2 behaves as Subgroup Index 1 should and 3-10 cycle instead of 2-10. This should be expected to eventually be fixed.

Contributors Captain Punch Artifice Green JoValiant Connor Kennelly

Overriding the AI Spawners on the level is required for the Override AI Placements Source setting to matter.
This setting determines if the mode will use 343's preconfigured Firefight experience, or if it will override it.
Custom Waves can be set up with up to 5 unit types apiece. All spawnable units are available to be selected.
Group Index and Subgroup Index control when a spawner is called during play.