Fighting Game · Guides & deep dives

V2 NPC Schedule Debug Visualization

planned path, and next-transition layers plus stable thickness and color tokens.

3sections1 minread

On this page

NPCScheduleDebugVisualization.V2 builds deterministic debug primitives for inspecting NPC schedule execution. The surface is data-only so gameplay, editor, or debug canvas renderers can consume the same timeline, current block, planned path, and next-transition diagnostics.

Runtime Surface#

  • FV2NPCScheduleDebugVisualizationConfig controls timeline, current block, planned path, and next-transition layers plus stable thickness and color tokens.
  • FV2NPCScheduleDebugViewport defines fixed overlay dimensions for the horizontal schedule timeline and path lane.
  • FV2NPCScheduleDebugPrimitive carries timeline segment, current-time marker, planned path line, and next-transition marker data.
  • FV2NPCScheduleDebugVisualizationResult includes execution/pathfinding context, primitive counts, active/next block ids, and validation issues.

Debug Rules#

  1. Timeline segments are generated from sorted schedule blocks; wrap-midnight blocks are split into late-day and early-day segments.
  2. The current block is highlighted and paired with a current-time marker.
  3. Planned path lines use the schedule pathfinding result and target the active block or next transition based on travel lead time.
  4. The next-transition marker is placed at the next block start minute.
  5. Draw toggles suppress individual layers without invalidating the remaining visualization.
  6. Invalid config, viewport, schedule execution, pathfinding, or primitive data produces blocking issues.

Validation Commands#

Run these targeted checks when touching schedule debug visualization:

bash
python3 V2/ue/Tools/check-v2-npc-schedule-debug-visualization.py
python3 V2/ue/Tools/check-v2-npc-schedule-persistence.py
python3 V2/ue/Tools/check-v2-npc-schedule-social-interaction.py
python3 V2/ue/Tools/check-v2-npc-schedule-weather-response.py
python3 V2/ue/Tools/check-v2-npc-schedule-day-of-week.py
python3 V2/ue/Tools/check-v2-npc-schedule-variation.py
python3 V2/ue/Tools/check-v2-npc-schedule-interruption.py
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/NPCScheduleDebugVisualization_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-debug-visualization.py