Steps to reproduce:
- Create a C++ project
- Add a new AI Controller class
- Override Possess method
- Do a check(false) inside Possess method
- Compile
- Create a character blueprint, set the new AI Controller as the AI Controller class
- Set the auto possess ai to “Spawned”
- Close the blueprint editor
- Open the character blueprint again
Editor will crash because the Possess method is called when opening the blueprint asset and we put a check assertion in that method.
If you try you will see that PossessedBy method in character is also called.
I don’t know if it’s a bug or not but it’s a very weird behavior.