0
Cannot Reproduce

GraphPointerException: Graph pointer must be within a Bolt.INesterStateTransition for this operation.

TowerCrow 3 months ago updated 3 months ago 3

Seems related to coroutines in state machine states and/or transitions. Specifically, "Trigger State Transition" unit is turning red with only a cooldown or wait unit before it. So "On Enter State (checked as coroutine)">>>"Wait for Seconds">>>"Trigger State Transition". The state transition has a similar code with a coroutine and wait unit. 

GraphPointerException: Graph pointer must be within a Bolt.INesterStateTransition for this operation.
[ UI Layer > FlowState#e7678... ]
Ludiq.GraphPointer.EnsureWithin[T] () (at C:/Users/lazlo/Projects/Bolt1/Package/Ludiq.Graphs/Runtime/GraphPointer.cs:278)
Ludiq.GraphPointer.GetParent[T] () (at C:/Users/lazlo/Projects/Bolt1/Package/Ludiq.Graphs/Runtime/GraphPointer.cs:286)
Bolt.TriggerStateTransition.Trigger (Bolt.Flow flow) (at C:/Users/lazlo/Projects/Bolt1/Package/Bolt.State/Runtime/TriggerStateTransition.cs:28)
Bolt.Flow.InvokeDelegate (Bolt.ControlInput input) (at C:/Users/lazlo/Projects/Bolt1/Package/Bolt.Flow/Runtime/Flow.cs:399)
Bolt.Flow+<InvokeCoroutine>d__52.MoveNext () (at C:/Users/lazlo/Projects/Bolt1/Package/Bolt.Flow/Runtime/Flow.cs:337)
Bolt.Flow+<InvokeCoroutine>d__52.MoveNext () (at C:/Users/lazlo/Projects/Bolt1/Package/Bolt.Flow/Runtime/Flow.cs:324)
Bolt.Flow+<Coroutine>d__50.MoveNext () (at C:/Users/lazlo/Projects/Bolt1/Package/Bolt.Flow/Runtime/Flow.cs:263)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17)
Bolt Version:
1.4.4
Unity Version:
2019.1.9f1
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):
Pending Review

Hm, very odd that this wasn't reported before, seems major! Will investigate ASAP.

Cannot Reproduce

Hi TowerCrow,

Tried reproducing this in a simple state transition and couldn't get it to fail (either Cooldown or Wait both work):

Can you be more specific about the reproduction steps?

Hmm, I can't reproduce the issue on my end anymore either. Seems like the magic of Unity restart has solved the problem. In retrospect, I should've done that before posting here. My apologies.