I've got a networked situation where a projectile is being spawned on a server, then the client is told to spawn it as well. The server spawns it with the correct orientation, but on the client it spawns with a bad rotation.
I think this is due to the projectile's Start() method being called before the transform data being passed into Instantiate() is copied to the projectile. (the network code path kicks off during a Start() call on a component of the projectile, so the uninitialized transform would be coming across potentially).
I can't seem to find any information on order of operation within Instantiate, does anyone know when the transform (rotation more specifically) is copied to the new data object vs. when Start is called?
asked Sep 02 '11 at 09:09 PM
Start is called much later. OnEnabled and Awake are called inside Instantiate. You can add Debugs to see the order.
answered Sep 02 '11 at 09:30 PM