Do pointer and drag events (IEventSystemHandler style calls) get called before Updates on monobehaviours in the scene or is it undefined?
Also if you have a Physics Raycaster when is that fired?
I’m not entirely sure but I’d assume it happens with the OnMouse Events in the Input Events area, so before Update:
Apparently my initial assumption that Physics Raycasters happen around FixedUpdate time was wrong and they also seem to happen with other Input Events in the default InputsModules:
https://bitbucket.org/Unity-Technologies/ui/src/a3f89d5f7d145e4b6fa11cf9f2de768fea2c500f/UnityEngine.UI/EventSystem/InputModules/PointerInputModule.cs
As far as I know it all runs in Update.
https://bitbucket.org/Unity-Technologies/ui/src/a3f89d5f7d145e4b6fa11cf9f2de768fea2c500f/UnityEngine.UI/EventSystem/EventSystem.cs?at=2017.3&fileviewer=file-view-default
It all runs through EventSystem.Update alongside all other MonoBehaviors.
Not sure if it has custom execution order assigned.
Ok wonder if runs before others others or at random - anyway does what it needs to but I am doing my own raycasts after finding Physics Raycaster seemingly conflicting with other raycasts or out of step with the scene
I swear this changed in 2017.3.1 but in any case I am now getting events between Update and LateUpdate which means if I want less cursor-lag I have to do any drag code in LateUpdate now not the more obvious “Update”.
This seems wrong