Live data from Hacker News

What Unity Is Getting Wrong

garry.tv

31–40 of 306 posts

Re: What Unity Is Getting Wrong

#31
post #17
post #7

I have been using Unity since 2008 version 2 before the Unity iPhone even and I have to agree. It is a mess. There has never been a time in Unity where systems aren't changing. APIs should be simple facades to ugly systems underneath, abstracting away the pain, but Unity puts it right in your face. Their editor is pushed over code first solutions. I thought when they went subscription that it would calm down, as befo…

Looking at their market share across Switch games, first party support from Google, Nintendo and Microsoft for their gaming platforms and AR/VR devices, ongoing Hollywood adoption, I would say they are doing quite alright from business point of view.

I have no doubt they are doing "quite alright" but I always look at these types of posts as the canary in the coal mine. There are far fewer developers than players and the players don't care about Unity vs Unreal vs Insert other engine here. If developers are frustrated then it will take a long time to migrate off but once someone is burned they aren't often willing to take a chance on the same thing for their next project.

I am not a game developer but I know there are pieces of software/frameworks/languages that I've been burned/extremely frustrated by that I won't go back to if I can at all help it (As in I would never take a job that used it unless I was desperate).

Re: What Unity Is Getting Wrong

#32
post #12

I'm so frustrated that Unity and Unreal are the only two real options. And it's all because of console vendors. Unreal is just way too inaccessible, as an individual, non-C++-veteran (used it a bunch in college, but modern C++ looks nothing like what I've seen), non-games-industry-veteran. It's also fairly opinionated towards first person/third person action games. And then Unity is of course a dumpster fire. It's mu…

For Godot, there are actually some companies that you can work with who will make your game playable on consoles[1]. It's a pain that it has to be done that way, and the devs said it isn't a trivial amount of work, but I remember seeing at least one game on /r/godot that was launching on PC and Switch.

[1]http://www.lonewolftechnology.com/

Re: What Unity Is Getting Wrong

#33
post #12

I'm so frustrated that Unity and Unreal are the only two real options. And it's all because of console vendors. Unreal is just way too inaccessible, as an individual, non-C++-veteran (used it a bunch in college, but modern C++ looks nothing like what I've seen), non-games-industry-veteran. It's also fairly opinionated towards first person/third person action games. And then Unity is of course a dumpster fire. It's mu…

It all depends on what you're planning to do. Godot is a fantastic engine for 2D stuff, with the ability to publish pretty much anywhere. And it does support consoles, in a way: https://docs.godotengine.org/en/latest/tutorials/platform/co.... It's not cheap, I agree with that.

I'm surprised at the idea that Unreal is inaccessible though. Especially as an indie, UE4's blueprint system will do absolutely anything you need to do. And, for extending the editor itself, Python is available.

Re: What Unity Is Getting Wrong

#34
> They hid all the hard stuff in c++ so we didn't have to think about it. The more time has gone on, the more bullshit has crept to the forefront. The've gone from hiding the hard stuff to moving more and more stuff into C#.

I love that they are moving more and more stuff in C#. It's a good thing. The C# code is available for developers to view and modify, but no one is forcing you to.

The problem is that a lot of Unity's early choices that made it so accessible to novice game devs making simple games, made it to inflexible or slow for bigger or more complex projects.

If you were building a high performance procedurally generated game, you were already fighting with all of the "easy stuff".

Re: What Unity Is Getting Wrong

#35
In my brief time trying out Unity (as a non-game-developer) I found the programming paradigm very frustrating. I wanted a more object oriented approach. But what I found was to get things to work in a performant way, you'd end up with very leaky abstractions. At the core, my thinking is it has to do with everyting coming down to handling on a per "tick" basis rather than as an event. Maybe I just did things wrong... but this seemed to be the direction you're guided in. If you do try and build a good quaility event model, the performance was terrible.

Re: What Unity Is Getting Wrong

#36
There are two main reasons to avoid Unity:

1) As your project grows, it becomes unmanageable because the resource pipeline is hidden and you want to be able to improve that.

2) Skin mesh animation, which is the main point of using Unity in the first place, uses a compute shader which means they send all meshes from the CPU to the GPU every frame!

On the other hand Unreal takes 5 hours to compile and even Godot takes the same time as Unity ~30 min.

The only option is to fold your shirt sleeves up and build your own engine. It's not that hard really.

Re: What Unity Is Getting Wrong

#37

100% agree with this. Everything they’ve done in the last 5 years I’ve been using Unity has felt half baked. You’ll try any number of the things they’ve released recently (networking, 2d animation, and vector graphics are the ones that come to mind for me) and they’ll work fine for their demo case but then fall apart with so many cases that you need to actually ship a game. I think one of the bigger problems with the…

Promote engineers for big launches, and you'll get big launches. Lots of them. Fire and forget style launches.

Re: What Unity Is Getting Wrong

#38
I got stuck into a few unity projects recently, and I've been surprised how poorly documented and undiscoverable things can be.

Why is the whole rendering pipeline stuff such a mess? I've bumped into far too many unexpected gotchas because a pipeline doesn't support a particular feature, or it renders stuff in such a way which isn't clearly documented. And whats worse is there is no real easy way to debug it since there seem to be no in-built debug tools for rendering.

Also their webgl implementation is terrible if your doing anything more advanced. Often I'm scratching my head trying to figure out why something suddenly doesn't work, only to find out for some reason it's still using old resources. And I'm often working around yet more undocumented implementation details like render targets getting their alpha channels wiped somewhere in the spaghetti code rendering pipeline.

It strikes me that there is a real big gaping hole in the market for something like unity but which has a flatter, more comprehensible system. I think there is some hope godot will be that, but I don't think its quite there yet for some scenarios (like their webgl implementation being even worse than unity).

Re: What Unity Is Getting Wrong

#39
post #12

I'm so frustrated that Unity and Unreal are the only two real options. And it's all because of console vendors. Unreal is just way too inaccessible, as an individual, non-C++-veteran (used it a bunch in college, but modern C++ looks nothing like what I've seen), non-games-industry-veteran. It's also fairly opinionated towards first person/third person action games. And then Unity is of course a dumpster fire. It's mu…

It all depends on what you're planning to do. Godot is a fantastic engine for 2D stuff, with the ability to publish pretty much anywhere. And it does support consoles, in a way: https://docs.godotengine.org/en/latest/tutorials/platform/co... . It's not cheap, I agree with that. I'm surprised at the idea that Unreal is inaccessible though. Especially as an indie, UE4's blueprint system will do absolutely anything you…

I'm a programmer, who feels most comfortable writing code, so that was the route I took, and that route ended up being inaccessible. I've also heard that you can't really do everything for an entire game in just blueprints.

Unity's C# scripts on the other hand - despite all of the engine's problems - are incredibly straightforward to write, set up tooling for, build, plug into a project, and you can use them to control everything from game logic to the editor to the rendering pipeline. This is Unity's greatest strength, IMO.

Re: What Unity Is Getting Wrong

#40
post #10

As I had mentioned in a previous thread that has come up recently with regards to UE5 and being open sourced, one of the greater sins of Unity is that it is mostly closed source. In reading through the blogs of some of their developers, they seem to have a contrived idea that people "shouldn't have to know how it works", which, while it's a noble gesture, is bullshit because by prohibiting reading the implementation…

Unity source code is available to anyone that actually wants to have it. It just isn't available in FOSS sense.

This is correct, they released the source code a couple years ago under a reference license.

https://blogs.unity3d.com/2018/03/26/releasing-the-unity-c-s...

https://github.com/Unity-Technologies/UnityCsReference

Post reply on HN