I noticed i got a fatal crash in the latest AC (1.71.2) when returning to a scene where the player was previously looking at something.
StackOverflowException: The requested operation caused a stack overflow.
UnityEngine.Object.IsNativeObjectAlive (UnityEngine.Object o) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:161)
UnityEngine.Object.CompareBaseObjects (UnityEngine.Object lhs, UnityEngine.Object rhs) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:140)
UnityEngine.Object.op_Equality (UnityEngine.Object x, UnityEngine.Object y) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:403)
AC.Player.IsActivePlayer () (at Assets/AdventureCreator/Scripts/Character/Player.cs:724)
AC.Player.SetHeadTurnTarget (UnityEngine.Transform _headTurnTarget, UnityEngine.Vector3 _headTurnTargetOffset, System.Boolean isInstant, AC.HeadFacing _headFacing) (at Assets/AdventureCreator/Scripts/Character/Player.cs:473)
In a scene, the player was facing (with head) another character. When leaving the scene and then returning, the crash occured. If I add a Stop looking action before leaving the scene, there is no error. This did not happen in 1.70.
I am using Local players in my scenes, as it's easier for me to adjust character parameters when the player is in the scene. I get a console message/warning about Local player found, perhaps there's been some changes to the player code that could affect this?
AC 1.71.2/Unity 2018.4.18/Windows 10
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
Thanks for the details, I'll attempt a recreation. Is that the whole message, and what is your character's animation engine?
I use mecanim animations with Head-turning IK. There might have been a few more lines that repeated after the last, sorry for not including them. I can probably force this error again if you need more info.
EDIT: Here's the last line, repeated around 20 times:
AC.Player.SetHeadTurnTarget (UnityEngine.Transform _headTurnTarget, UnityEngine.Vector3 _headTurnTargetOffset, System.Boolean isInstant, AC.HeadFacing _headFacing) (at Assets/AdventureCreator/Scripts/Character/Player.cs:475)
Open up Player.cs, and find the following around line 473:
Change it to:
Excellent, Chris! No more crashing with the updated script!