A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Connected Games' started by vis2k, May 1, 2020.
V1.17 pending review (bug fix release):
@vis2k looks really cool!
Is it relatively straight forward to convert the NetworkManager in usurvival to use this?
Hello, this asset is support smooth sync ?
No this can not be used with uSurvival. This doesn't use the old concept of GameObjects and components. The entire project would have to be rewritten.
Got it thanks
DOTSNET is 50% off during Unity's 2020 Reboot Sale:
Grab it while you can
Weekend Benchmark with libuv2k V0.9.
70k entities @ 20 FPS.
Now 100k entities @ 34 FPS with shadows.
100k entities @ nearly 50 FPS on lowest quality.
2-4 Fps less during video recording.
Still on a 2015 Macbook Pro, with no real GPU
Does Dotsnet support animations with DOTS? Is it stable?
Animations are client sided, so there should be no problem
Let's test this for my ambitious project
This project looks absolutely brilliant. I hope to give it a go sometime soon!
Manage expectations though. DOTS/ECS is still in preview and DOTSNET while stable, is still lacking features.
Hi, just bought DOTSNET. It looks very promising and you absolutely should have the money to work on it full time. We need this kind of asset and its mostly been a bad idea to rely on unity.
Not sure if I can use it for my current project though. Would it be crazy to try to make it work with the ultimate character controller? It's only a prototype, so not everything has to be perfect and server authorative. I'm just wondering about the long run... I heard somebody is working on a mirror port. If that ever is released, would it be easy to adapt it to DOTSNET?
Making character controllers work well over the network is very hard.
For Mirror, I only know of one controller that works, which is the one I made for uSurvival/uMMORPG.
DOTSNET definitely allows you to do that, but you really need to know what you are doing to get it right.
But sure, try and report back
Anyone know how you would go about setting the camera to follow the player in the samples? I’m trying to figure out how you reference the camera since it’s not a traditional game object. Is it possible to convert it to an entity?
This thread seems promising ...
DOTSNET V1.18 pending review.
What a month. I hope you all enjoy libuv2k. It's the best scaling Transport for Unity by far, being able to handle 100k Entities with 60 FPS on my laptop
Let me know if you have any problems.
V1.18b resubmitted. Now with the libuv2k Windows DllNotFoundException fix, and without physics package upgrade
Picked this up on sale few weeks ago. Haven’t dived into it much outside of the examples scenes. 100k entities is nice. But, that type of bandwidth/messages are going to be brutal on some devices.
Is there a way to track messages and bytes in editor or we got to use 3rd party tools?
Again. Haven’t spent more than a few hours playing with it. Is there any way to spread that bandwidth and messages out or do we have to script that on our own?
Just trying to plan on my next project. 10k entities I love it. I am just having a hard time planning how to spread that out among clients.
If you want a game with insane amounts of entities, then that's the price to pay
V1.19 pending review:
What if I don't use hybrid renderer, but gpu instancing? I made a prototype using dots and gpu instancing, learned from examples from other threads. How deep "dots networking" is bound to the hybrid renderer? I update position values through compute buffer to move dynamic units. Entities are anyways setup in a way, that natural fits the gpu array setup, so I think it should be doable without too much effort?
Rendering has nothing to do with networking.
Been digging through it, pretty dang awesome. I'm still trying to learn DOTS to move over but this is a great example to learn from and build off.
Thanks so much for all your work.
Then please remove the hybrid renderer requirement if it's not related at all:
And btw., I know rendering has nothing to do with networking...
I think the Hybrid Renderer is required in order to use DOTS.
DOTS is the data oriented tech stack, this includes all data oriented packages, therefor you don't use DOTS, you use DOTS packages. The hybrid renderer is one of those DOTS packages and its not required for all DOTS packages, just some have it as dependency.
Thank you for replying @voncarp and @FakeByte
So the asset just uses some packages, which leads to some package dependencies regarding hybrid renderer. I Just wanted to be sure, there's no heavy code refactoring necessary, to work with my own rendering workflow.
The package has demo scenes which for one would require the hybrid renderer, that could be one of the reason why its mentioned as dependency. You can always disable the hybrid renderers systems, then pick up the entities you want to render with your own system, I don't see why you would need to change a single line in the network code.
ECS is very modular and there are almost no direct dependencies which make your use case very easy to implement.
1 quality of life example feature request would be an example shooting a networked projectile from the player position and direction and destroying it. I edited the physics example to be a character controller, and its great, but struggling to get projectiles working right, I'll figure it out, but its taken a lot of time and I'm sure its probably 15 mins if you knew what you were doing.
Yep, a few more examples and a few more basic features will be needed.
Still spending all my time on transports these days. libuv is done and kcp will come to DOTSNET soon.
Afterwards features/examples again
Would this asset also work with other type of games from MMOs? Like for instance FPS or RTS? I am evaluating using this for an RTS, would this work out of the box or would I have to change a lot to get it working?
Also, how easy would it be to add networking to an existing ECS game with this?
Should work fine for RTS.
For FPS you need prediction etc., which DOTSNET doesn't have. It simply syncs entities over the network
I'd recommend starting with one of the DOTSNET examples and build your game on top of it.
DOTS/ECS is still new and nobody really knows the best way to do things yet.
Would you imagine ECS architecture would be suitable for card games with related entities? Something like X card reacts to how much mama Y character has?
I wouldn't recommend using ECS unless that's your only option.
If you aren't going for massive scale, go with MonoBehaviour instead.