In what order are all the Update() functions called?

With a number of GameObjects each having scripts attached (some with multiple scripts), is there a set order in which each script's Update() is called each frame? Or is it completely random/arbitrary? Can it be set manually?

You can edit this in the Script Execution Order settings. Edit > Project settings > Script execution order.

“By default, the Awake, OnEnable and Update functions of different scripts are called in the order the scripts are loaded (which is arbitrary). However, it is possible to modify this order using the Script Execution Order settings.”

There is no defined order to Update functions. If you need a specific order, you should implement it yourself. (i.e., have an array of objects, and from a single Update function, call functions on those objects in the array in order.)

Have a good day!