After unity relay forcing pricing, i reconsidered on using net gameobjects

Unbelivable what Unity net gameobject did.
Mlapi team that created net gameobject had a great potential after releasing their Mlapi.relay, and mlapi puncher. We the users had options and free choice.

Net gameobject did not only removed relay variables in unet transport, so basically they are forcing you to use unity relay services only and also do not guaranty any support for the community transport -> theoretically making them unstable for almost every version.

This is a critical feedback , please take it into your consideration



Took me a while to answer this but had a hard time figuring out what I should say because topics like that get me quite emotional. Having an open and extensible library is very important for me. I take your feedback very seriously and will raise it with the team. I just wanted to share my perspective on the matter...

I can't speak for the entire team but in the conversations I've been in, we never even considered removing a feature to force you into using one of our services. Having an open interface for transports has always been important to us. There are many options and alternatives like a Steam based relay transport and we are open towards any transport implementations for any third party services on our community contributions repository.

From an engineering side, getting rid of the transport concept and tightly integrating our Unity Transport package would have saved us a bunch of headaches but we decided not to do that to keep Netcode for GameObjects more open.

As for support for the community transports. I hope you can understand why we will not be able to guarantee that all the community transports are supported for production. Reasons for that are that we didn't write the transports and don't know the networking libraries which they are using. The community contributions repository was meant as a shared place for the community to share work.

I hope you can also see that not guaranteeing support does not mean we don't care at all. When we updated the transport interface for our 1.0.0 release, I manually went over all the community transports and updated them to the new version. (I think I broke the SteamP2P one while doing so, so apologies for that)

Finally in regards to the MLAPI relay, we are open to accept a transport in our community contributions repository which contains the old relay interop code which we removed. You'd just have to merge our changes for the UNetTransport file for the 1.0.0 release with the RelayTransport file that got removed. The reason we had to remove it from the Netcode for GameObject package is because Unity does not own the MLAPI Relay, which is still owned by the original creator (TwoTen) so we cannot guarantee support for it.