Description

UAIPerceptionSystem::Tick() is not called after level reloading.

When Debugging, UAIPerceptionSystem::CurrentTime is always 0, and UAIPerceptionSystem::SourcesToRegister always contains sources to register without registering them.

It is worth noting that in these cases the first element of the SourcesToRegister array has source STALE; when the Perception System is correctly working instead, at the first call of UAIPerceptionSystem::PerformSourceRegistration() the first element of the array is the SpectatorPawn (tests were made using the default class, not an inherited one).

Steps to Reproduce
  1. Download the attached Project  "[Link Removed]"
  2. Right click UProject, and Generate Visual Studio Project files.
  3. Open the Project, Navigate to ThirdPersonBP->Maps,  and launch Third Person Example Map.
  4. Press PIE.
  5. The AI Character will move to the player, upon reaching the player, the level will re-load.
  6. After doing this for some time.  (up to 50 reloads)

Results: The level is reloaded but the perception system is not working.

Expected: The perception systems should continue to work as usual.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-85899 in the post.

4
Login to Vote

Fixed
ComponentUE - AI
Affects Versions4.224.234.24
Target Fix4.24.3
Fix Commit11443775
Main Commit11445875
CreatedDec 16, 2019
ResolvedFeb 14, 2020
UpdatedJan 26, 2021