Summary
I’m experiencing inconsistent navigation behavior with guards when their movement area is updated dynamically. The guard moves perfectly inside the initial small “safe” zone, but once the stair is rotated and a new valid movement area is calculated, the guard sometimes reaches the new destination and sometimes fails, even though the position appears reachable. This inconsistency makes the system unreliable, and I haven’t been able to find a stable workaround.
In the attached videos, the issue never occurs when a Sleep(1.0) delay is added between navigation updates. However, this delay is too long and causes the guard to pause noticeably, which is not acceptable for constant movement. When using shorter delays such as Sleep(0.2) or Sleep(0.5), the inconsistent navigation still occurs. The only delay that avoids the issue is Sleep(1.0), which makes the behavior impractical for real-time use.
Please select what you are reporting on:
Creative
What Type of Bug are you experiencing?
AI
Steps to Reproduce
Place a Guard Spawner Device and allow the guard to move only inside a small, fixed “safe” area.
Rotate a stair (or any structure that affects navigation) so that certain positions around it become unreachable.
Use a script to detect the unreachable positions and recalculate a new, fully valid movement area for the guard.
Assign the guard a destination inside this newly calculated valid area.
Observe the guard’s navigation behavior after multiple tests.
Expected Result
The guard should always be able to navigate to any destination inside the newly calculated valid movement area, as long as the script identifies it as reachable.
Observed Result
Instead of moving toward the recalculated valid destination, the guard sometimes chooses to walk in the opposite direction or toward an unrelated location. This happens even though the assigned target is inside the new valid movement area and should be reachable.
Platform(s)
PC
Video
Test 1: Sleep(1.0) Between Each Navigation
Test 2: Sleep(1.0) Between Each Navigation
Test 1: Sleep(0.5) Between Each Navigation
Test 1: Sleep(0.2) Between Each Navigation