I believe a common approach with big developer games is to use both, depending on the precise purpose. Critical information such as objects being bought and sold would be sent via TCP, because it must arrive, but it is not time-critical, whereas player positions would be sent via UDP, because speed is more important than accuracy for player positions.
TCP is always guaranteed, yes, and always ordered. I'm not sure about the relative speeds of guaranteed UDP vs TCP, but my gut says that an ordered UDP implementation *should* be faster. Raknet, for example, does this.
TCP is always guaranteed, yes, and always ordered. I'm not sure about the relative speeds of guaranteed UDP vs TCP, but my gut says that an ordered UDP implementation *should* be faster. Raknet, for example, does this.