As a Roblox developer, it is currently impossible to send network messages over anything other than a reliable ordered channel. This is a huge problem for networked game state that needs to be sent very frequently. Re-transmissions and acknowledgements are nice for data that must get there eventually, but it really blows for state that is just going to be immediately sent again in the next network step.
The biggest use case for something like this is custom character replication. We only care about the most recent position and orientation of a replicated character, and we don’t want old stale state to be re-transmitted to us.
I propose adding the property
RemoteEvent.Reliability which determines the reliability type of network messages sent using it. This property would be an enum, and could include
ReliableOrdered (the way it works now),
Unreliable (packets may be dropped), and
UnreliableSequenced (same as unreliable, but only the most recent message is accepted).
Being able to send unreliable messages is a bare necessity for creating low-latency multiplayer games. In my opinion this would allow developers to fine tune their games’ networking in order to deliver a more consistent experience.