THE ANOMALY ON MARS FIELD MANUAL

Map making / FIELD GUIDE

Sandbox variables and condition keys

Use map-local counters and every available run, profile, achievement and defense metric in Sandbox event conditions.

CHECKED AGAINST v0.65.07 MIN READUPDATED 2026-09-11

By nith studios. Early Access tools evolve; match your build to the version above.

Discuss this guide on Discord ↗

Use this page as the exact-key lookup beside the Sandbox event editor. For the full workflow—placing nodes, connecting actions, testing retries and saving maps—start with the Sandbox editor field guide.

Version check: this reference covers v0.65.0. A newer build may add choices. The keys shown by that build's Condition editor are authoritative.

Author-defined map variables

A Map Variable node uses a numeric key that you define. A Condition reads the same value with a var. prefix:

Variable node key: waves_seen
Condition metric: var.waves_seen

Keys match [A-Za-z_][A-Za-z0-9_]{0,31}: 1–32 ASCII letters, digits or underscores, beginning with a letter or underscore. Values are finite numbers from -1,000,000,000 through 1,000,000,000.

Set replaces the value. Add adds to it, treating a missing key as zero. Results are clamped to the supported range. Conditions compare with >=, >, ==, !=, < or <=, combining up to eight checks with ALL or ANY.

Variables last only for the current attempt. Retry, Reset Map and a fresh Fly entry clear them. They never change lifetime profile stats and cannot contain scripts or expressions.

Useful examples include waves_seen / var.waves_seen, stage / var.stage, doors_opened / var.doors_opened and hazards_fired / var.hazards_fired.

Current-run metrics

These values reset with the attempt:

Key Meaning
run.kills Total ordinary enemy kills
run.bosses Boss kills
run.health Current lives or health hits
run.shield Current shield charges
run.score Current score
run.elapsed Seconds played
run.wave Survival wave or Boss Rush fight number
run.damage Damage dealt

Every enemy family supplies an attempt-local and a lifetime kill counter:

Enemy Run key Lifetime key
Infected run.kills.infected profile.kills.infected
Chaser run.kills.chaser profile.kills.chaser
Drifter run.kills.drifter profile.kills.drifter
Splitter run.kills.splitter profile.kills.splitter
Mini run.kills.mini profile.kills.mini
Sniper run.kills.sniper profile.kills.sniper
Coil run.kills.coil profile.kills.coil
Bulwark run.kills.bulwark profile.kills.bulwark
Binder run.kills.binder profile.kills.binder
Wasp run.kills.wasp profile.kills.wasp
Picket run.kills.picket profile.kills.picket
Blight run.kills.blight profile.kills.blight
Driller run.kills.driller profile.kills.driller
Turret run.kills.turret profile.kills.turret
Lasher run.kills.lasher profile.kills.lasher

Pickup and collectible metrics

These counters also reset with the attempt:

Pickup or collectible Key
Plating run.pickups.health
Barrier run.pickups.shield
Nova run.pickups.nova
Overclock run.pickups.overclock
Anchored run.pickups.anchor
Scatter run.pickups.scatter
Heavy run.pickups.heavy
Time Warp run.pickups.timewarp
Double run.pickups.bonus
Belt Feed run.pickups.belt
Swarm run.pickups.swarm
Salvo run.pickups.salvo
Wide Beam run.pickups.wide
Long Beam run.pickups.reach
Signal Coin run.pickups.token
Relay Pylon run.pickups.pylon
Data Shard run.pickups.data_shard
Access Card run.pickups.keycard
Power Cell run.pickups.power_cell
Specimen run.pickups.specimen
Relay Chip run.pickups.relay
Anomaly Relic run.pickups.artifact
Combined total run.pickups

Lifetime profile metrics

These are read-only lifetime values. Do not use them to gate a fresh player's required path; reserve them for optional veteran branches or secrets.

Key Meaning
profile.kills Lifetime ordinary enemy kills
profile.bosses Lifetime boss kills
profile.runs Lifetime completed runs
profile.elapsed Lifetime seconds played
profile.damage Lifetime damage dealt

The per-enemy lifetime keys are listed beside their run equivalents above.

Achievement metrics

An achievement metric reads as 1 when earned and 0 otherwise:

Key Achievement
profile.achievement.wing_commander WING COMMANDER
profile.achievement.boss FIRST BLOOD
profile.achievement.pack PACK HUNTER
profile.achievement.carrier FLIGHT DECK
profile.achievement.wave10 DOUBLE DIGITS
profile.achievement.wave20 THE LONG HAUL
profile.achievement.dire NO MERCY
profile.achievement.untouched UNTOUCHED
profile.achievement.iron_sights IRON SIGHTS
profile.achievement.skeleton_crew HANDS OFF
profile.achievement.billiards BILLIARDS
profile.achievement.close_formation CLOSE FORMATION
profile.achievement.mut_hardcore ONE LIFE
profile.achievement.mut_purist AS SHE COMES
profile.achievement.mut_storm WEATHER EYE
profile.achievement.mut_swift RED SHIFT
profile.achievement.mut_elite EVERY ONE OF THEM
profile.achievement.mut_magazine COUNTING ROUNDS
profile.achievement.kill_chaser_1 CHASER I
profile.achievement.kill_chaser_2 CHASER II
profile.achievement.kill_chaser_3 CHASER III
profile.achievement.kill_mini_1 MINI I
profile.achievement.kill_mini_2 MINI II
profile.achievement.kill_mini_3 MINI III
profile.achievement.kill_drifter_1 DRIFTER I
profile.achievement.kill_drifter_2 DRIFTER II
profile.achievement.kill_drifter_3 DRIFTER III
profile.achievement.kill_sniper_1 SNIPER I
profile.achievement.kill_sniper_2 SNIPER II
profile.achievement.kill_sniper_3 SNIPER III
profile.achievement.kill_bulwark_1 BULWARK I
profile.achievement.kill_bulwark_2 BULWARK II
profile.achievement.kill_bulwark_3 BULWARK III
profile.achievement.kill_splitter_1 SPLITTER I
profile.achievement.kill_splitter_2 SPLITTER II
profile.achievement.kill_splitter_3 SPLITTER III
profile.achievement.kill_coil_1 COIL I
profile.achievement.kill_coil_2 COIL II
profile.achievement.kill_coil_3 COIL III
profile.achievement.kill_turret_1 TURRET I
profile.achievement.kill_turret_2 TURRET II
profile.achievement.kill_turret_3 TURRET III
profile.achievement.kill_picket_1 PICKET I
profile.achievement.kill_picket_2 PICKET II
profile.achievement.kill_picket_3 PICKET III
profile.achievement.kill_binder_1 BINDER I
profile.achievement.kill_binder_2 BINDER II
profile.achievement.kill_binder_3 BINDER III
profile.achievement.kill_lasher_1 LASHER I
profile.achievement.kill_lasher_2 LASHER II
profile.achievement.kill_lasher_3 LASHER III
profile.achievement.kill_wasp_1 WASP I
profile.achievement.kill_wasp_2 WASP II
profile.achievement.kill_wasp_3 WASP III
profile.achievement.kill_blight_1 BLIGHT I
profile.achievement.kill_blight_2 BLIGHT II
profile.achievement.kill_blight_3 BLIGHT III
profile.achievement.kill_driller_1 DRILLER I
profile.achievement.kill_driller_2 DRILLER II
profile.achievement.kill_driller_3 DRILLER III

Defense and dynamic keys

The fixed defense metrics are available to every map, but read as zero when no shared Custom defense scenario is active:

Key Meaning
defense.credits Attempt-local build credits
defense.kills Goal attackers killed
defense.leaks Attackers that reached a core
defense.remaining Unresolved current-assault attackers
defense.pending Pending assault deployments
defense.assault Current assault number

Each authored Core node adds defense.core.<core_id>, such as defense.core.relay_alpha, for its current health. A core ID is 1–48 letters, digits, underscores or hyphens. This family is dynamic because its IDs come from your map, just as var.<key> comes from your Variable nodes.

Choose the right scope

  • Use run.* for the current attempt.
  • Use profile.* only for optional branches based on lifetime progress.
  • Use var.* for authored stage, latch and counter state.
  • Use defense.* for core and assault state.

A Map Note disappearing, a Timer expiring or an author note existing does not change a numeric variable by itself. Connect the real event output to a Variable action when you need state to change.

For examples of event sources, actions, connection limits, reset behavior and testing, continue in the Sandbox editor field guide.