NPCSchedulePersistence.V2 captures and restores NPC schedule state across
save/load. It persists the save id, schedule id, NPC id, saved time, active
block, location, interruption state, day seed, weather id, and restore tags.
Runtime Surface#
FV2NPCSchedulePersistenceSnapshotstores versioned schedule state at save time.FV2NPCScheduleRestoreRequestcarries the schedule, location registry, snapshot, restore command flag, and interruption restore flag.FV2NPCScheduleRestoreCommanddirects AI to resume the saved block at the schedule-correct location.FV2NPCSchedulePersistenceResultreports the restored time, block, location, execution result, location binding result, snapshot, command, and issues.
Restore Rules#
- Snapshot capture evaluates the active schedule block at save time and stores the schedule-correct location for that saved time.
- Serialization and deserialization round-trip the stable snapshot fields,
including paused interaction state. Deserialization accepts the initial
13-token payload shape and the 14-token shape that explicitly carries
bPausedForInteraction. - Restore evaluates schedule execution at the saved time and resumes the exact saved block.
- Restore targets the schedule-correct location for that saved time.
- Interrupted schedules restore active interruption metadata when requested.
- Invalid save ids, schedule ids, NPC ids, block ids, locations, saved times, execution, or restore commands produce blocking issues.
Validation Commands#
Run these targeted checks when touching schedule persistence:
bash
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/NPCSchedulePersistence_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-persistence.py