6 ms·
Unity are spending too much money to develop far too little. New engine features are almost universally half baked (DOTS, UI mess). They acquire in demand featu
by initplus 3y ago
Unity are spending too much money to develop far too little. New engine features are almost universally half baked (DOTS, UI mess). They acquire in demand features from the community just to let them wither (pro builder). The only thing that's consistent between different Unity features is how unpolished they seem.
Notably the mess they have made of DOTS seems to have been partially responsible for sinking Cities Skylines 2.
Just points to a mess at the leadership level. Their failed relicensing debacle shows the poor level of judgement of the C suite.
- luaKmua 3y agoNo love for Unity here, their licensing debacle was horrendous, but I've seen no indications that DOTS is responsible for CS2 perf issues. Everything I've seen points to other things lacking in the engine (a decent LODing system for example), general optimization issues that'd be present in any game shipped too early, and inefficiencies in the rendering pipeline.
- initplus 3y ago"Unfortunately a lot of the graphics-related issues are indirectly caused by the game’s use of DOTS" "The cause for unnecessary geometry is both the lack of simplified LOD variants for many of the game’s meshes, as well as the simplistic and seemingly untuned culling implementation. And the reason why the game has its own culling implementation instead of using Unity’s built in solution (which should at least in theory be much more advanced) is because Colossal Order had to implement quite a lot of the graphics side themselves because Unity’s integration between DOTS and HDRP is still very much a work in progress and arguably unsuitable for most actual games" https://blog.paavo.me/cities-skylines-2-performance https://blog.paavo.me/cities-skylines-2-performance
- danbolt 3y agoI think if a game development team is going to try ECS for gameplay, they need to have the resources to go ensure it’s comprehensive enough for their needs. It can be challenging to “bolt on” a data-oriented design and have it interface with the rest of the code base. Conway’s Law will apply if not everyone’s on board with it.
- bob1029 3y agoAt some point, that in house engine is going to be cheaper and easier to work with. Alternatively, a tough conversation needs to be had with the team about complying with unity's way. Battlebit runs on the same engine, but I think they made exactly the right trade offs to achieve their experience. I don't care if the game world looks realistic. I just want it to be fun. Simulations are a nuanced point of this, but even so if CS2 looked no better than the original, I probably wouldn't have noticed.
- deleted 3y ago[deleted]
- johnnyanmac 3y agoI was wondering if and how they were using DOTS with HDRP since (from brief pokes, I of course can't speak for all of DOTS) to my knowledge, there was no major work done integrating HDRP/URP. Both were moving targets that were probably moving even faster than DOTS. I guess the answer is an unfortunate "we did not" as of now. Real shame because the ideas of a proper DOTS renderer (not a literal renderer, moreso an ECS oriented way to deliver data to the GPU. Likely HDRP/URP) was one rumbling for years. And probably still is. And with all the industry layoffs/leavings I hope they don't drain too much of the brain to get that off the ground.
- BryanLegend 3y agoNo game engine can save a game from someone dedicated to being inefficient, like rendering high poly teeth on pixel tall models.
- kalleboo 3y agoI would have assumed the game engine would be responsible for culling occluded objects. Isn't that one of the most basic parts of a 3D renderer?
- kfarr 3y agoYes I would expect that from a 3d engine that I pay a license fee towards, but I also expect the developer to performance test and fix some of these things before release
- ThatPlayer 3y agoDeveloper prioritize features and fixes. You don't know if there were worse issues before release. It should be on the managers and the publisher to set reasonable timelines and delay release when it can't meet expectations.
- meheleventyone 3y agoOcclusion culling is pretty usecase dependent if you want a performant solution. Unity implements frustum culling and Umbra which is a pre-computed solution. The latter is probably not great for CS2 and the former is basically the minimum. Unity have definitely slept on introducing more alternatives though.
- brrbrrbrr 3y agoEven if a 3D object is culled by the renderer, the mesh is still loaded in memory
- codeflo 3y agoFor a zoomed out view with tiny people walking around, that would be mostly be a case for LOD, not culling. That is, you wouldn't render a highly-detailed character model and cull out each tooth mesh individually, which would still be very expensive, but you should render a simplified mesh to begin with.
- photoGrant 3y agothey thought they had the Hollywood lock. Then turns out Hollywood isn't worth shit these days and treats em' like some post house on deathrow either way. They bet too much, too hard, in all the wrong places. And tried lock-in and pricing out the indies. They should've done the Adobe thing and let those college kids pirate. Dunno, very expected from this angle.
- Stevvo 3y agoThe issues with CS:2 are well documented and nothing do with DOTS; it was entirely the game developers fault.
- bob1029 3y agoThe vendor of the tools should always try to empathize with the users of their tools and make the experience better. Even if the user insists on being a little bit weird. Perhaps especially so. We like to chase the most difficult customers. It forces us to have the best products.
- Stevvo 3y agoI think many of the issues with Unity are caused by them not using their own product. If they are never going to make games, then they need to listen to their customers far more closely.
- johnnyanmac 3y agoUnity isn't one tool, however. DOTS does a lot of amazing things, but most of its job is done on the CPU. and issues here sound like GPU laden issues. DOTS could certainly do a better job talking to HDRP but DOTS has always been talked about as "in alpha/beta" until mid 2022. those integrations and polish are the exact reasons why, and I argue that it came out of beta much too early as is.
- bluescrn 3y agoThey pivoted from developing an engine to developing an IPO. It's looking like there was no plan beyond that, once Riccitiello sailed off into the sunset with his loot.
- immibis 3y agoThere never is. This is how capitalism works. Cory called it enshittification.
- vishwajeetv 3y agoWhy did they use Unity for Cities Skylines 2? Unity is widely known for performance issues in game dev community right? (I am not a game developer). Why not unreal engine etc?
- sofixa 3y agoI presume because they already used Unity in Cities Skylines (the original), and it would be easier to build and improve on the previous edition instead of throwing most of it away and starting a new project with a new engine.
- deleted 3y ago[deleted]
- bluescrn 3y agoPeople underestimate the cost of switching game engines. While a lot of concepts are transferrable between engines, if you've got a team of experienced C#/Unity developers who haven't touched UE, switching to C++/UE is likely to cost a lot of time/money. A new engine can still be a steep learning curve for experienced game developers. You might be able to pick up the basics over a weekend, but reaching expert levels of knowledge takes years. That cost increases further if it means restarting a project from scratch rather than building on top of an existing codebase (which will likely include not just the game itself, but also an assortment of tools built within Unity for building content and improving workflows). Unity's killer feature for many is still its C# support. If you're a small team or solo developer who doesn't need AAA levels of performance, it can be a big time-saver over working with C++.
- arlcode 3y agoThat's one of the reasons why Godot started brushing up their C# support recently. For that that small/solo team it's also easier to switch engine and since they can't get custom license deals like the big boys having the same language may encourage some to invest the time and resources.
- whywhywhywhy 3y ago
- Tsarbomb 3y agoWhat? DOTS is great and extremely performant. CS2 is completely the fault of the developers. The real issue with Unity is that they don't double down on DOTS + HDRP/URP. I have not opened the editor for a few months but last time I worked in Unity the legacy render pipeline was still the default and documentation around DOTS and HDRP was somewhat lacking which is a shame because when you get it working, it works super well.
- FoodWThrow 3y agoDOTS isn't ECS. DOTS was supposed to be, a Data Oriented Tech Stack. Currently it only has ECS with some extra bits. Ergo, DOTS is an unfinished mess. And that unfinished mess --along with a mandate to release for Gamepass-- culminated into CSII suffering from utterly ridiculous issues.