Vehicles and bipeds are both extensions of the Unit abstract tag class, which is not directly creatable itself. Generally, units are controllable objects which can "die" and appear on the motion sensor.

Feigning death

...

Related HaloScript

Function/global

Type

(debug_objects_unit_seats)

When debug_objects is enabled, displays blue markers at unit seat locations, red markers at their entry points, and a yellow marker at the object origin.

Global
(debug_unit_all_animations [boolean])

Logs lines to the console output as unit animations occur. For example: cyborg_mp: animation stand pistol move-right.

Global
(debug_unit_animations [boolean])

Shows red console log output whenever a unit animation is missing. For example: MISSING: cyborg 'G-driver unarned aim-still'.

Global

Structure and fields

FieldTypeComments
unit flagsbitfield
FlagMaskComments
circular aiming0x1
destroyed after dying0x2
half speed interpolation0x4
fires from camera0x8
entrance inside bounding sphere0x10
unused0x20
causes passenger dialogue0x40
resists pings0x80
melee attack is fatal0x100
don't reface during pings0x200
has no aiming0x400
simple creature0x800
impact melee attaches to unit0x1000
impact melee dies on shields0x2000
cannot open doors automatically0x4000

Disables a biped's ability to automatically open doors. Does not apply to vehicles, which cannot automatically open doors.

melee attackers cannot attach0x8000
not instantly killed by melee0x10000

If enabled, prevents the unit from being instantly killed by a melee to their back. This is used for the Flood.

shield sapping0x20000
runs around flaming0x40000
inconsequential0x80000
special cinematic unit0x100000
ignored by autoaiming0x200000
shields fry infection forms0x400000
integrated light cntrls weapon0x800000
integrated light lasts forever0x1000000
default teamenum
OptionValueComments
none0x0
player0x1
human0x2
covenant0x3
flood0x4
sentinel0x5
unused60x6
unused70x7
unused80x8
unused90x9
constant sound volumeenum

How loudly AI will perceive this unit.

OptionValueComments
silent0x0

The sound is not perceived at all.

medium0x1

This is the volume of the sniper rifle. The exact radius is unknown.

loud0x2
shout0x3

Every AI in the BSP can hear this.

quiet0x4
rider damage fractionfloat
  • Min: 0
integrated light toggleTagDependency: effect
unit a inenum
OptionValueComments
none0x0
driver seat power0x1
gunner seat power0x2
aiming change0x3
mouth aperture0x4
integrated light power0x5
can blink0x6
shield sapping0x7
unit b inenum?
unit c inenum?
unit d inenum?
camera field of viewfloat
  • Default: 1.22173
camera stiffnessfloat
camera marker nameTagString
camera submerged marker nameTagString
pitch auto levelfloat
pitch rangeBounds
FieldTypeComments
minfloat
maxfloat
camera tracksBlock
  • HEK max count: 2

The first entry is the "loose" camera track, while the second is labeled "tight". The loose camera track, if present, is used for the third person view of a player unit. Don't confuse this with seat camera tracks. This third person view is used for the "following camera" mode in Standalone as well as for weapons with uses 3rd person camera. If a loose camera track is not present then the third person view uses the globals default.

FieldTypeComments
trackTagDependency: camera_track
seat acceleration scalePoint3D
FieldTypeComments
xfloat
yfloat
zfloat
soft ping thresholdfloat
  • Min: 0
  • Max: 1
soft ping interrupt timefloat
  • Unit: seconds
hard ping thresholdfloat
  • Min: 0
  • Max: 1
hard ping interrupt timefloat
  • Unit: seconds
hard death thresholdfloat
  • Min: 0
  • Max: 1
feign death thresholdfloat
  • Min: 0
  • Max: 1
feign death timefloat
  • Unit: seconds
distance of evade animfloat
  • Unit: world units
distance of dive animfloat
  • Unit: world units
stunned movement thresholdfloat
  • Min: 0
  • Max: 1
feign death chancefloat
  • Min: 0
  • Max: 1
feign repeat chancefloat
  • Min: 0
  • Max: 1
spawned actorTagDependency: actor_variant
spawned actor countBounds
FieldTypeComments
minuint16
maxuint16
spawned velocityfloat
aiming velocity maximumfloat
  • Unit: degrees per second
aiming acceleration maximumfloat
  • Unit: degrees per second squared
casual aiming modifierfloat
  • Min: 0
  • Max: 1
looking velocity maximumfloat
  • Unit: degrees per second
looking acceleration maximumfloat
  • Unit: degrees per second squared
ai vehicle radiusfloat
ai danger radiusfloat
melee damageTagDependency: damage_effect
motion sensor blip sizeenum
OptionValueComments
medium0x0
small0x1
large0x2
metagame typeenum
  • H1A only

Only used for scoring in H1A (MCC only); overridden by actor_variant's metagame type if unit is an actor.

OptionValueComments
brute0x0
grunt0x1
jackal0x2
skirmisher0x3
marine0x4
spartan0x5
bugger0x6

Also called "drone".

hunter0x7
flood infection0x8
flood carrier0x9
flood combat0xA
flood pure0xB
sentinel0xC
elite0xD
engineer0xE

Also called "huragok".

mule0xF
turret0x10
mongoose0x11
warthog0x12
scorpion0x13
hornet0x14
pelican0x15
revenant0x16
seraph0x17
shade0x18
watchtower0x19
ghost0x1A
chopper0x1B
mauler0x1C

Also called "prowler".

wraith0x1D
banshee0x1E
phantom0x1F
scarab0x20
guntower0x21
tuning fork0x22

Also called "spirit".

broadsword0x23
mammoth0x24
lich0x25
mantis0x26
wasp0x27
phaeton0x28
bishop0x29

Also called "watcher".

knight0x2A
pawn0x2B

Also called "crawler".

metagame classenum
  • H1A only

Only used for scoring in H1A (MCC only); overridden by actor_variant's metagame class if unit is an actor.

OptionValueComments
infantry0x0
leader0x1
hero0x2
specialist0x3
light vehicle0x4
heavy vehicle0x5
giant vehicle0x6
standard vehicle0x7
new hud interfacesBlock
  • HEK max count: 2
FieldTypeComments
hudTagDependency: unit_hud_interface
dialogue variantsBlock
  • HEK max count: 16
FieldTypeComments
variant numberint16
dialogueTagDependency: dialogue
grenade velocityfloat
  • Unit: world units per second

The velocity of thrown grenades. This field is used for the player, but overidden by actor_variant grenade velocity for AI. The projectile initial velocity for grenades is not used.

grenade typeenum
OptionValueComments
human fragmentation0x0
covenant plasma0x1
grenade countuint16
soft ping interrupt ticksint16
  • Cache only
hard ping interrupt ticksint16
  • Cache only
powered seatsBlock
  • HEK max count: 2
FieldTypeComments
driver powerup timefloat
  • Unit: seconds
driver powerdown timefloat
  • Unit: seconds
weaponsBlock
  • HEK max count: 4
FieldTypeComments
weaponTagDependency: weapon
seatsBlock
  • HEK max count: 16
FieldTypeComments
flagsbitfield
FlagMaskComments
invisible0x1
locked0x2
driver0x4
gunner0x8
third person camera0x10

The player will use a third person camera when occupying this seat. If this flag is not set, and allow weapons is set, the player will still use a third person camera if they are holding a third person weapon. This seat's camera track is always used, not the player unit's, and it defaults to the globals default if not set.

allows weapons0x20
third person on enter0x40

When entering the seat the player will temporarily enter third person camera before returning to first person. The Warthog passenger seat uses this.

first person camera slaved to gun0x80
allow vehicle communication animations0x100
not valid without driver0x200
allow ai noncombatants0x400
labelTagString
marker nameTagString
acceleration scaleVector3D
FieldTypeComments
ifloat
jfloat
kfloat
yaw ratefloat
  • Unit: degrees per second
pitch ratefloat
  • Unit: degrees per second
camera marker nameTagString
camera submerged marker nameTagString
pitch auto levelfloat
pitch rangeBounds?
camera tracksBlock?
  • HEK max count: 2

The "loose" camera track is used for this seat's third person view. You may wish to provide this even for first person seats without the third person camera flag because the camera may still be forced into third person if the seat allows weapons and the player is holding a third person weapon. If not set, the globals default is used.

unit hud interfaceBlock?
  • HEK max count: 2
hud text message indexuint16
yaw minimumfloat
yaw maximumfloat
built in gunnerTagDependency: actor_variant

Used to place a mounted weapon unit at this seat, which aims and fires independently of this unit. An example is the bottom-mounted turret on the covenant dropship. The game can only simulate up to 8 of these mounted units at a time.

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)