Live data from Hacker News

Unreal vs. Unity Opinion

gist.github.com

41–50 of 319 posts

Re: Unreal vs. Unity Opinion

#42
post #25

I've worked as professional Unity developer for 8 years after learning it as a hobbyist for 3, and I'm happy to finally be rid of it. It's good for prototypes and beginners, sure. But when you start to build big projects, you learn that al those learning resources guide you towards using awful architectural practices, and that there's a million of edge cases and weird bugs that would absolutely kill your project but…

“…since ~2015, Unity as a company have been more and more interested in developing shiny prototypes of new features that would look great in presentations, but it would take forever to finally get them to be production ready, and they would be rid with problems even then. It's as if Unity cared more about increasing numbers of newcomers than retain old-timers and studios which already invested heavily into the engine…

> this sounds like the way every other company operates. maximize profits above all else naturally resulting in the degradation of the product

Absolutely, that's the result of switching from a co-founder CEO that followed a humble philosophy to a mass market game industry CEO with own controversies.

Re: Unreal vs. Unity Opinion

#43
I have used unity for 2 years - abandoned my first project because it became unmaintainable. But my second attempt has been much more successful.

I agree that unity is good for prototyping, and lots of people have experience with that. Turning it into a finished product is less well-trodden, but not impossible.

The best thing I learned was to keep it simple, but not simplistic. It's easy to be too clever, but when you have good boundaries of code and reasonable coupling, it's pretty alright.

My project is a bit unique in its simplicity, so i can't say someone with a more complex one wouldn't have more problems. But I'm not running to UE any time soon. Unity works surprisingly well for me, but there is a learning curve.

Re: Unreal vs. Unity Opinion

#44
post #30

Having worked in Unity as a hobbyist for about a decade and considering the switch to Unreal due to obvious issues Unity is currently facing (3 rendering pipelines being the main one), I'd like to hear more input from the programmer experience in both engines. I think C# in Unity hits a really nice sweet spot: You have a powerful and expressive type system, can use nice high level features like async/await, you get (…

It’s not as bad as you imagine.

Here are some of my experiences regarding swapping to unreal:

- the c++ gameplay framework is very friendly. It’s GC, with good high level wrappers that provide stuff like options, maps, classes (ie. Reflection).

- The unreal discord c++ channel is full of people who will actually answer your questions, it’s brilliant.

- Every high level blueprint function is a c++ function. I cannot express how powerful it is to be able to step into the source of like “MoveToPoint” or “Whatever” and see exactly how it was implemented in c++.

- You should use blueprints. It’s like python glue for machine learning; write in c++, but when you need to twiddle an animation curve, or lay out a state machine, it’s pretty good. If you’re working with an art team, they can actually make gameplay changes. It’s very productive.

- Plug-ins are a first party construct; you should use plugins to build reusable content. They’re not quite as good as the unity package manager, but it’s rock solid foundational stuff.

- The compile times are not often an issue; I use the incremental unity builds (it’s a source file aggregation thing, why they called it unity I have no idea) and it takes like what 15 seconds to build a plug-in? Launching the editor is slow 30 seconds?) though.

It’s not all good; it has bugs. Sometimes the editor just goes into crazy mode and needs a restart. When you mess up, it crashes with a segfault.

C++ is just less productive; but I’m using the unreal for rider EAP and it’s pretty good.

So… I miss c#; but overall I would rate my experience as pretty good, and since my experience with DOTS in unity has been, shall we say, 100% negative…

Give it a try. :)

Re: Unreal vs. Unity Opinion

#45
post #23

Is Godot out of the question? Is it mostly a performance thing?

for me would be lack of AR/VR support as that is what I want to build apps/games for.

Godot was the only engine out of Godot, Unity, and UE4 that I could even get VR to even work.

Re: Unreal vs. Unity Opinion

#46
One of the most infuriating things about Unity is they tend to deprecate/stop maintaining working things even though the replacement is still in preview and/or not ready. It puts you in this awkward situation of, ok, do I develop against this stable thing only to have to replace it in 6 months, or do I do Unity's beta testing for them and waste a ton of my time dealing with their bugs?

The other thing I really dislike is that quality of life improvements in the editor are necessarily bundled with engine updates. With IDEs, usually I can use a newer IDE with an older version of the compiler in something like C++ or Java. But with Unity, if I want the editor enhancements I have to upgrade /everything/, and it's almost assuredly not backwards compatible, a bunch of things are going to break, and half my plugins are going to struggle. It seems like the only realistic way to use Unity is grab a LTS version, and then never-ever touch it until the project is done.

Also, while I'm generally a fan of C#, I think it was somewhat of a poor choice for games. When I was working in Unity professionally a few years ago I remember we would write code in such a way to avoid creating any garbage for the GC. But that meant that most of the nice features of C# were verboten -- no LINQ, only using certain types of loops, etc etc. Maybe the situation has improved, but it seems like there were better language choices.

Re: Unreal vs. Unity Opinion

#47

I'm unclear on the unity source availability. It's impossible to fix a bug because you don't have the source? But you're staring right at it, which implies you do?

Unity's source is not open source. They let you look at the C# code, but not modify it or redistribute it. You can purchase a license to get the source code including the engine code.

Re: Unreal vs. Unity Opinion

#48
post #9
post #7

I've worked with Unreal and Unity both, professionally and for many years. Several triple A games, indie titles, commercial sims, and social experiences. What sets unity apart by leaps and bounds is its asset store, community and educational materials.

Doesnt unity Just Work(tm) with git, too?

Not really. You can do it, but it's definitely got issues and LFS is a must.

Re: Unreal vs. Unity Opinion

#49

I'm unclear on the unity source availability. It's impossible to fix a bug because you don't have the source? But you're staring right at it, which implies you do?

You don't have the source at all, if you're you.

If you're a big company (think publicly traded, not just big), you do have near realtime access to both Unity dev teams and the full up-to-date source, and you may even ship builds made with internally customized Unity versions, but it's such bad code that you wish you didn't. And they don't accept patches back for integration in any timeline worth considering, so it's really hard to maintain local changesets while still pulling Unity's improvements in patches releases.

Re: Unreal vs. Unity Opinion

#50
post #40
post #30

Having worked in Unity as a hobbyist for about a decade and considering the switch to Unreal due to obvious issues Unity is currently facing (3 rendering pipelines being the main one), I'd like to hear more input from the programmer experience in both engines. I think C# in Unity hits a really nice sweet spot: You have a powerful and expressive type system, can use nice high level features like async/await, you get (…

As someone who generally hates visual programming and just wants a text editor, I'd say blueprints is actually one of the most enjoyable of these. They really nailed the editor and you can have a lot of fun just playing around. Also the c++ unreal shouldn't be compared to pure C++. You're working with the unreal framework which adds a lot of quality of life features. I've been working with it for the last month or so…

This is what i was wondering that wasn't explained in the article... does UE offer some guardrails for working with c++ that make the jump from C# an easier decision?
Post reply on HN