Hi ,
Just reporting a few crashes we’ve seen.
The first is null ref exception in [FONT=Courier New]UiTween::SpawnEvent(AiTAux* aux), where it doesn’t check if the player controller is null before trying to get its pawn.
I’m not sure when/why there wouldn’t be at least one player controller, but we managed to have it happen a few times (maybe when PIE is being torn down?)
Another crash/hang that happens a few times a week is in [FONT=Courier New]UITween::StopTweeningByEventReference(AiTweenObject* object), where Array complains that the length of the currentTweens array changed during the for each loop
This one doesn’t always cause a crash, but will at least hang of a couple of seconds. I seemed to be able to fix by just not calling [FONT=Courier New]EndPhase() inside the loop itself.
On a related note - have you thought about putting iTween on GitHub so we could post issues there and possibly submit PR’s to save you some time? The email notifications would be a lot better than too
Anyway, thanks!
Geordie
Edit: Just found another bug I think? Our game uses a lot of slomo’s, and so UI animations often need to ignore time dilation.
But I discovered that tweens that played while the global time dilation was eg. 0.1, would actually play significantly faster than they were meant to.
I had a look through the iTween code, and it seemed like the time dilation was actually being compensated for twice - first by setting a CustomTimeDilation on the tween event actor, and then again in the event’s Tick?
Commenting out the actor’s CustomTimeDilation (so just relying on compensation during Tick) seemed to fix.
(I think using Tick to compensate is probably more flexible since the time dilation may change while the tween is running, so setting it once up front wouldn’t actually “ignore” it properly)