#Suggested networking solution?

1 messages · Page 1 of 1 (latest)

verbal jackal
#

Ill use steam server and looking for a middleware, i was suggested mirror but i see unity offers an official solution, which do yall prefer?

sleek crest
#

I prefer Netcode for GameObjects. But Mirror or any of the other modern solutions are perfectly viable.

verbal jackal
blazing kite
blazing kite
#

use mirror if you want a free open source production-ready library

#

it's not as good as photon libraries though

#

ngo is also fine if u don't mind the "weird design"

sleek crest
#

What does "weird design" mean? All the network libraries i've seen recently all use some flavor of network object, Network Variables, and RPCs

blazing kite
sleek crest
#

🤷‍♂️ I'm not the one calling it weird

native umbra
#

I’d too like to know why is it weird and what does photon do better in this regard, last time i used legacy PUN it seems pretty much the same to me

blazing kite
native umbra
#

So how is it better?

blazing kite
#

cleaner api

#

these are like the two most important things about a library

#

so it's just better

native umbra
#

Are there some measurements which state that perf is better? I don't see why it should be different here. Would be interested in this

The API part is highly subjective and depends on the game I think

blazing kite
#

there are some benchmarks online too

native umbra
#

Well that's not really a measurement 😄

#

I'm pretty sure you could make a 200+ player game with NGO

blazing kite
#

you can do 200 player in a 1hz tickrate

#

in any netcode

#

photon fusion br200 is running at 60hz

#

unity devs by themselves say that ngo is only good for 16 players

#

coop games and stuff like that

native umbra
#

Well this is a pretty poor argument and not a measurement. A good dev could take NGO and make it fly around photon if they had to. I'm pretty sure for the games you have in mind whatever they might be, the devs spend hundreds if not thousands of hours making sure the game runs well with photon. So this is not really a good argument for perf

#

Tho I'd still be curiuous for measurments. Been thinking of trying other networking libs after migrating to NGO. My main gripe with NGO is not perf or API as you mention but bugs.

blazing kite
#

that's your arug?

#

then they are not using ngo

#

so the whole arugment does not work

#

lol

native umbra
blazing kite
native umbra
#

Same for NGO 😉

blazing kite
native umbra
#

I've worked with OG crappy netcode lib Unity used to use, PUN/PUN2 and now current NGO

blazing kite
#

u think that code can run fast?

native umbra
#

Yep

blazing kite
#

how do you know better than the devs

#

i am interested

native umbra
#

If you want to argue about performance, bring in the numbers please. I'd be interested in seeing them

#

As said I'm curious about your claim that photon is faster, but all you do say NGO cannot handle this and that without backing it. If you're right, I might consider photon fusion for my next game as I haven't tried that, but you're not really helping your case right now and I honestly don't want to continue chatting because of that

blazing kite
#

ngo is the worst actually

#

this is bandwidth, not cpu

#

cpu is probably even as bad

blazing kite
#

that sails the dicussion

native umbra
#

Where was that said?

#

I'm using NGO for non coop game right now just fine

#

That benchmark seems fishy, also its from 2023, NGO has changed quite a bit since then

#

Ehh nevermind, good luck

#

I guess, congrats

blazing kite
weak scarab
sleek crest
#

Also for the record, there are no hard player limits on NGO.
Competitive vs Co Op is whole other discussion though. All of the networking solutions have their own pros and cons

weak scarab
#

Yeah I think the whole 16 player "max" is from very early days on or around release and was purely a ballpark.

native umbra
#

I belive if you use lobbies (e.g., with sessions API) there is a cap at 128 or 256, can't recall the exact number, though not really NGO related

Relay notes that 150 is max. I suppose this is for client-host only 🤔 Tho it also states that the limit comes from lobbies 🤷

sleek crest
#

Yea, there limits on the Unity Services. But those are network and even engine agnostic. The limit on Lobby and Distributed Authority is 150 at the moment

half shoal
#

tbh for NGO you want to use Unity 6, else you lack features or have some sort of weird bugs (like NetworkLists, just leaking memory)

blazing kite
# half shoal

be our hero and update it it in the repo and let us know if that changes anything on ngo numbers

half shoal
#

this is for the Y movement test, I made the prefab a little better, by reducing the data being sent, which in the benchmark they should've done too, so it comes down to same performance as the other frameworks, if not even better

#

transport itself can be much better to handle even more objects, you could say "NGO is low-level" compared to Pun for example

blazing kite
#

and don't miss with the settings, it's out of box benchmark.

#

and push your fork into a public repo that we can test

weak scarab
weak scarab
#

This is just laziness instead of actually taking the time to see what optimization settings each solution provides and either testing them or at the very least making people aware that they exist.

#

This is like saying “I tested 5 battery powered drills, but one of them came without the battery precharged so I didn’t charge it before the test out of fairness to this being an out of the box test and it didn’t work”

blazing kite
#

that's what they are trying to avoid

weak scarab
#

That's not what they're trying to avoid.

#

They've stated why they don't touch any additional settings on the repo.

blazing kite
#

it is, that's a simple example of how easy it is to miss with the result

weak scarab
#

👍

blazing kite
blazing kite
weak scarab
blazing kite
weak scarab
#

Nothing confused me. I made a point and you simply brought up something entirely different.

blazing kite
weak scarab
#

You brought up someone compressing position so aggressively that position starts to jitter. That's not what I and other people are saying to do and if someone did that, no one in their right mind would accept the results. That's why benchmarks are made public and include video examples.

#

So completely irrelevant to bring up.

blazing kite
#

point is it's very very easy to make a biased benchmark that's utterly useless if you are allowed to tweak as you wish

#

if these "settings" don't have drawbacks

#

maybe ngo should enable them by default

#

why aren't they? and why do other fraemworks do that?

weak scarab
#

By the way I'm not saying either side is 100% right or 100% wrong. This began from you linking the benchmark like it's some objective gold standard to support your claims. I'm simply explaining its limitations and inaccuracies.

blazing kite
#

instead people are crying the other way around

#

lol

#

though i've only seen a few people who refuse this benchmark

#

all ngo fans

#

you can make PR to NGO

#

and make them enable those settings

#

right?

weak scarab
half shoal
blazing kite
blazing kite
#

they are probably losing so many users who see benchmakrs like these

#

assuming it's true that you can bring those numbers down by enabling some settings

half shoal
blazing kite
weak scarab
#

Everyone is making a 200 player competitive BR and needs maximum compression. Gotcha.

blazing kite
#

what do they lose?

half shoal
blazing kite
blazing kite
#

imagine having all those awesome frameworks as official packages, lol

weak scarab
blazing kite
#

idk if you can actually fix its bandwidth issue without drawbacks, that's why i am interested in why unity didn't do that by default

#

also it can be weird and still "usable"

#

lambda calculus is also useable and can simulate the universe

half shoal
#

if you use NGO, just read the docs

weak scarab
# blazing kite idk if you can actually fix its bandwidth issue without drawbacks, that's why i ...

It's not an issue just because you deem it to be. Like I said earlier, not everyone is making a 128 tick competitive shooter or a 200 player Battle Royale. Some users use NGO for things like 3D social experiences which are not even classified as games.

I would assume the devs prioritize providing beginners with unmodified data syncing for simplicity and only want users opting in to optimization settings when they are aware of what they do.

blazing kite
blazing kite
half shoal
weak scarab
#

NGO has thresholds for each transform value to only sync when it passes said threshold. No different than Fusion or any other solution.

blazing kite
weak scarab
#

Here goes another moving of the goalpost. I've used several other networking solutions that are not NGO.

half shoal
weak scarab
#

I've said my piece on the original discussion of this post and will be unfollowing it. Feel free to mention or message me if anyone has any other related questions.

half shoal
#

Same here

blazing kite
blazing kite
#

quantum or fusion

sly tiger
#

I was one of the main devs on Photo Fusion if anyone has any specific questions about Photon products

blazing kite
#

mainly i am interested in what would you change about fusion if you could, hearing that you personally disagreed with some decisions from the top devs

sly tiger
#

Nah, not looking to get into my personal feelings regarding any of the available network libraries for Unity. Just can answer specifics about Photon though, since their products are quite a bit different from other libraries and can be a confusing topic

blazing kite