Fighting Game · Guides & deep dives

V2 NPC Schedule Location Binding

NPC id, interaction tag, supported activities, availability, exclusivity, and priority.

3sections1 minread

On this page

NPCScheduleLocationBinding.V2 validates that authored schedule blocks resolve to registered locations for the scheduled NPC. It binds homes, workplaces, tavern seats, and other authored anchors before pathfinding or activity behavior attempts to use them.

Runtime Surface#

  • FV2NPCScheduleRegisteredLocation defines a location id, binding type, owner NPC id, interaction tag, supported activities, availability, exclusivity, and priority.
  • FV2NPCScheduleLocationRegistry groups registered locations for one NPC.
  • FV2NPCScheduleBoundLocation records the resolved location for one schedule block, including binding type, interaction tag, ownership, and reservation requirement.
  • FV2NPCScheduleLocationBindingResult reports all resolved blocks and validation issues.

Binding Rules#

  1. The registry NPC id must match the schedule NPC id.
  2. Schedules with eat or sleep blocks require an available home location.
  3. Schedules with work blocks require an available workplace.
  4. Schedules with tavern visit blocks require an available tavern seat.
  5. Every schedule block location id must exist in the registry.
  6. Exclusive locations must be owned by the scheduled NPC.
  7. Registered locations must support the block's activity type.
  8. Schedule block interaction tags must match the registered location interaction tag.
  9. Duplicate location ids are blocking validation issues.

Validation Commands#

Run these targeted checks when touching schedule location binding:

bash
python3 V2/ue/Tools/check-v2-npc-schedule-location-binding.py
python3 V2/ue/Tools/check-v2-npc-schedule-activity-behavior.py
python3 V2/ue/Tools/check-v2-npc-schedule-pathfinding.py
python3 V2/ue/Tools/check-v2-npc-schedule-execution-engine.py
python3 V2/ue/Tools/check-v2-npc-schedule-data-format.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/NPC/NPCScheduleLocationBinding_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-location-binding.py