#Suggested networking solution?
1 messages · Page 1 of 1 (latest)
I prefer Netcode for GameObjects. But Mirror or any of the other modern solutions are perfectly viable.
honestly i just need something that works without "weird design" bs
ngo is werid design, if u want clean design go with photon
Why so?
don't have time to write a book on it, ton of reasons
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"
What does "weird design" mean? All the network libraries i've seen recently all use some flavor of network object, Network Variables, and RPCs
that's like saying all programming languages have variables and methods
it does not tell u anything about a network library
🤷♂️ I'm not the one calling it weird
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
exactly, pun is no longer promoted, it's legacy
photon fusion replaced pun
So how is it better?
for starters, much better performance
cleaner api
these are like the two most important things about a library
so it's just better
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
oh yes, very big yes. ngo is marketed at 16 max players
photon fusion has a working 200 player battle royale
there are some benchmarks online too
Well that's not really a measurement 😄
I'm pretty sure you could make a 200+ player game with NGO
it's not about players, it's about high tickrate too
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
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.
you mean a dev can rewrite ngo because it's not good enough
that's your arug?
then they are not using ngo
so the whole arugment does not work
lol
Nope, optimizing messages, sending only deltas, using custom messages with RPCs or variables don't cut it
all of that is built in in photon fusion, that's library level work
Same for NGO 😉
have u actually seen the code of ngo?
I've worked with OG crappy netcode lib Unity used to use, PUN/PUN2 and now current NGO
u think that code can run fast?
Yep
why unity devs think it's only good for 16 players?
how do you know better than the devs
i am interested
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
what's more than that unity devs say that it's only good for coop games
that sails the dicussion
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
thank you
It's not entirely useless but it isn't great. They won't even tick basic checkboxes on components for optimization in some solutions for "fairness" as they're measuring all of the solutions "out of the box"
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
Yeah I think the whole 16 player "max" is from very early days on or around release and was purely a ballpark.
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 🤷
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
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)
be our hero and update it it in the repo and let us know if that changes anything on ngo numbers
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
please show the result of the third test
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
Makes no sense to do this. No one grabs a networking solution and applies zero additional settings to components.
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”
What if one of the libraries is tuned to strongly compress the position so hard that it jitters, but it's "working" and now has the lowest numbers?
that's what they are trying to avoid
That's not what they're trying to avoid.
They've stated why they don't touch any additional settings on the repo.
it is, that's a simple example of how easy it is to miss with the result
👍
you lost?
This is made to remove the bias netcode EXCEPT the netcode enabled that “feature” by default
Yeah. That is not what you said.
i meant that the benchmarker tunes the library, not that it's tuned like that, maybe that's what confused you
Nothing confused me. I made a point and you simply brought up something entirely different.
i gave an example of how easy you can tweak a library to be the lowest, if you are given the choice to tweak
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.
it's not, even if it does not jitter, you can compress it enough to look fine in video (30 fps for example)
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?
It is equally as easy to make a biased benchmark by making an arbitrary rule that does not replicate real world scenarios.
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.
it's not an arbitrary rule, it's the only good rule in something like this to avoid people crying about biased testing
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?
in the documentation it is told to tick off settings that you DO NOT NEED, NGO could be considered as a low level framework compared to others then
it's not low level, it's very high level
unity probably should think twice then
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
there are a lot of optimisation you can do, literally the transport can be made even better by compressing the data
compressing in a generic compression algo like lz4?
Right. Because bandwidth usage being the lowest it can possibly be is #1 on every beginner's list who is using a networking library and nothing else matters.
Everyone is making a 200 player competitive BR and needs maximum compression. Gotcha.
it's a simple thing, they just should make those settings you are talking about as default
what do they lose?
NGO is not that beginner friendly I'd say, better to use Pun in that case to get use to things
pun does not even exit in photon website, it's depreciated, probably should say photon fusion shared mode
do you think it would be a good idea for unity to buy photon?
imagine having all those awesome frameworks as official packages, lol
You really need to pick a point to stand on. You move the goalpost every 5 seconds. This began from you saying NGO is weird and unusable and now we're switching to nitpicking about default settings when you're told it is in fact not weird and entirely useable.
It is weird actually lol, that's a different point.
Even @half shoal agrees it's not user friendly, partly due to its weirdness.
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
if you use NGO, just read the docs
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.
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.
unwise thinking on their part
do you know that photon fusion will not sync scale or position or rotation, but only when it's changed
looks like ngo does that each tick?
probably, but from the docs there's seem to be toggled off by default
NGO has thresholds for each transform value to only sync when it passes said threshold. No different than Fusion or any other solution.
have u used fusion before btw, it's important to have a different perspective too
maybe that would help you see why so many people think ngo is weird
Here goes another moving of the goalpost. I've used several other networking solutions that are not NGO.
I've made mod for R.E.P.O and the photon was kinda horrible to work with and it seem to lack security
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.
Same here
pun is no longer supported since like 7 years now, this is like using windows xp in 2025 and complaining about getting hacked
photon is decades ahead of others, have you used any of the new photon products?
quantum or fusion
I was one of the main devs on Photo Fusion if anyone has any specific questions about Photon products
hi emotitron
can i do an AMA with you here about fusion?
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
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
i see i am just intrigued because you were the top user in the photon server, and boom, you are no where to be seen in there.