Win 7 64, UE 4.8 binary
I noticed that bt service event “receive deactivation ai” is called after the bb is uninitialized and reset. That means the service will access invalid values in bb. This is happens for example if the service is active when you exit the game.
To test I made a service that simply prints a bb value every time when it’s deactivated.
To reproduce:
-
Start with vanilla 3rd person template
-
Add navmesh
-
Copy attached files in Blueprints folder
-
Play then press F. This will spawn BT controlled bot, which will run into player then wait for 5 sec, then run again etc…
-
Run somewhere far from the bot and when it’s running toward you press esc to exit the game.
-
Look into the log, you should see something like:
LogBlueprintUserMessages: Activation
LogBlueprintUserMessages: Deactivation ThirdPersonCharacter
LogBlueprintUserMessages: Activation
LogBlueprintUserMessages: Deactivation
Last log doesn’t print character display name, because the bb was already reset by UBlackboardComponent::DestroyValues() method.
I think this is a bug.