com.unity.netcode.gameobjects
com.unity.netcode.gameobjects copied to clipboard
Support translation between TransportID and ClientID in NetworkManager
Is your feature request related to a problem? Please describe.
I'm writing a custom transport and need to access the IDs assigned by the transport to identify the users on the network.
NetworkManager internally uses a different set of ClientIDs and creates a mapping between ClientIDs and TransportIDs, but this information is not accessible.
Describe the solution you'd like
Add following two methods or similar to NetworkManager:
ulong NetworkManager.GetTransportIdentifier(ulong clientId)
ulong NetworkManafer.GetClientId(ulong transportId)
Describe alternatives you've considered Current solution is to track pending clients and build the exact same mapping in the custom transport, which is redundant in my opinion.
Additional context See the discussion on Unity Forums for more detail.
Notes:
Issue can be resolved but it requires more code than it should.
Good feature request to implement.
I also need access to the Transport -> Client Id mapping for my own transport. Then way how the Issue can be resolved is super complicated and error prone. Having access to that mapping would be super helpful and I don't think it's super harmful. Please add asap as if it takes too long Transport developers must still implement the fallback because there might be users which don't want to upgrade.