Live data from Hacker News

Unreal vs. Unity Opinion

gist.github.com

51–60 of 319 posts

Re: Unreal vs. Unity Opinion

#51
post #37
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 (…

Having used Unreal for years in the past (UE4 only), I agree with you that C# would definitely win over the C++/Blueprint combo. Over the years, especially since blueprints compile down to C++, I've learnt to let go and embrace a lot more this visual programming approach. And it does have its benefits. With a strict approach, just as you would in programming paradigm, the readability and 'visual scanning' of opening…

O_o

Blueprints do not compile down to c++, it’s a VM that runs in the engine.

The reason no one talks about compiling the engine is because most folk don’t do that. It’s like recompiling python.

Sure… if you really want to…

Re: Unreal vs. Unity Opinion

#52
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 e…

By unity build I think they mean all cpp files within a module are compiled included into one (so each cpp isn't a separate execution unit, anonymous namespace etc. will bleed over between files unless they are in separate unreal module or plugin).

Similar to SQLite amalgamation.

Turning it off could parralelize the build more, except linkers are often singlethreaded and bottleneck things enough to undo that benefit sometimes.

Re: Unreal vs. Unity Opinion

#53
As a software developer I've worked with Unity and Unreal in a professional capacity for many years, and shipped quite a few games on both engines. Unreal is powerful, but really shows its game development studio and FPS game roots. Unity has limitations, I won't deny that. And both engines have their own issues and different frustrations in using and deploying them. I have also shipped games on internal, custom built engines too. From a business perspective, hiring Unity developers, i.e. people who can code in C#, is a lot easier. Unreal developers are plentiful, but their knowledge of the guts of Unreal usually stops at the surface level, barely dipping below Blueprints, at least from my experience.

Personally, I prefer Unity over Unreal, but am not averse to using either, in the right context.

Re: Unreal vs. Unity Opinion

#54

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 dislik…

> Also, while I'm generally a fan of C#, I think it was somewhat of a poor choice for games.

What do you think would be better? C++ is too verbose and full of footguns, and python and javascript are dynamically typed (which is imo bad for learning, because the error messages happen at runtime instead of compile time). I'm a big fan of rust, but even using the Bevy game engine has occasionally reminded me that I appreciate just letting the garbage collector worry about memory management.

(The issues with the garbage collector have mostly been resolved at this point, now that they've implemented incremental GC.)

Re: Unreal vs. Unity Opinion

#56
post #24

Earlier quoted context omitted.

You only pay for Unity if you already have >100K in annual revenue.

For Unreal from thier website - "A 5% royalty is due only if you are distributing an off-the-shelf product that incorporates Unreal Engine code (such as a game) and the lifetime gross revenue from that product exceeds $1 million USD; in this case, the first $1 million remains royalty-exempt." - much better than Unity's pricing. The > 100k annual only give you Unity Personal whereas you can full powered Unreal at much…

Oh, I thought you were saying that you couldn't build something in Unity to test the market without paying for it.

Re: Unreal vs. Unity Opinion

#57
post #52

Earlier quoted context omitted.

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 e…

By unity build I think they mean all cpp files within a module are compiled included into one (so each cpp isn't a separate execution unit, anonymous namespace etc. will bleed over between files unless they are in separate unreal module or plugin). Similar to SQLite amalgamation. Turning it off could parralelize the build more, except linkers are often singlethreaded and bottleneck things enough to undo that benefit…

Running a unity build [1] means the compiler only has to parse and reason about the headers once. So you lose the parallelism of multiple TUs, but you gain on not doing the header crunching over and over again. Whether your codebase will benefit from that is a matter for testing, but many do.

[1]: https://en.wikipedia.org/wiki/Unity_build

Re: Unreal vs. Unity Opinion

#58

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…

What is your source on that? You do not have to be a publicly traded company to get source code Access, the source code is actually pretty well written and maintained. With the new approach of features being delivered in packages you get all the source directly in c#.

Re: Unreal vs. Unity Opinion

#59
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 (…

I'm a hobbyist who tried switching and really didn't like having to use C++ or blueprints.

Epic is working on a new language called verse though, so that might change the situation.

Re: Unreal vs. Unity Opinion

#60
As a macOS developer I feel like there are a lot of parallels between Unity and Apple, and the way they manage their platforms. Opening things up has a lot of benefits, but I think it's probably hard for management to accept the risk when historically things have been working out just fine.

Hopefully the success of Unreal changes some minds.

Post reply on HN