Ticks are executed asychronically (if multithreading is on) in groups called tick groups, here you got list of them (saddly this enum dissapered from API refrence so link is to github):
If one group is finished the other one is executed. You can switch tick group of invidual actor with this function:
You can also define invidual actors which need to be ticked before tick is triggered in specific actor
This way you can control order of actor ticking.
As for input i’m not sure, it probably updated before ticking is started. There function that let you check if specific button is pressed at the moment:
Which let you order up input checking too