Live data from Hacker News

Unreal vs. Unity Opinion

gist.github.com

81–90 of 319 posts

Re: Unreal vs. Unity Opinion

#81

Earlier quoted context omitted.

Just curious how does one go deeper into UE if not interested in Blurprint stuff?

C++ can be used instead of Blueprints.

Thanks I understand that, just that the whole engine seems to be a huge blob that is difficult to approach. Maybe I should just focus on one part.

Re: Unreal vs. Unity Opinion

#82

Unreal is trash for 2D. However, if I was making a 2D game, I'd use Defold or Godot or GameMaker or raylib or libGDX, not Unity. Only reason to use Unity for gamedev these days is if you wanna get a job at a mobile game company Also, both are FPS / TPAA engines. Unreal especially. Sure, you can make it do other things, but it's just not a natural fit for, say, an isometric 4X game....not that there's an openly availa…

Interesingly enough Homeworld 3 which is space rts is being made with Unreal 4.

Re: Unreal vs. Unity Opinion

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

What's the standard compile time for a short iteration in Unity's C#?

I use C++ in UE4 as much as possible and even the iterative compile time with LiveLink breaks my iteration flow. BP is great for iteration but I keep as much in C++ as possible and this has made things much easier to maintain. At the moment I'm trying to prototype in BP then move completed stuff to C++.

Re: Unreal vs. Unity Opinion

#84

Earlier quoted context omitted.

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.

Why does every game engine seem to write their own language? Why not choose an existing one - in this case C# seems like an obvious choice because it's already used in another major game engine and seems to be well liked.

Agree. I was so happy when I heard they were introducing an intermediate language and so disappointed when I found out it was custom.

I'm back to being quietly hopeful though:

- Epic ships games and has internal game developers. They're probably not going to create something too dynamic or untyped that has issues scaling. - I was worried about coverage but then realised all of BP is generated from code annotations using the unreal header tool, and they've already done it for Python (I think? maybe just editor functions).

If it's just a textual replacement of blueprint that will be enough to make me so much more productive for gameplay programming.

Might be more likely it'll be used for player-generated-content and their metaverse push ala roblox though.

Re: Unreal vs. Unity Opinion

#85

Earlier quoted context omitted.

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.

Why does every game engine seem to write their own language? Why not choose an existing one - in this case C# seems like an obvious choice because it's already used in another major game engine and seems to be well liked.

First of all, you need to understand that all current (serious) game engines primarily use C++, in order to provide maximum performance at the low-level. But C++ is incredibly unproductive as a language for actual high-level game development, since C++ takes ages to compile and has more weird and dangerous footguns than any other language. So developers often end up binding a scripting language onto their C++ core, so they can have fast development cycles and move fast. So even C# in Unity is just a scripting language binded onto the core C++ engine. The problem is that C# isn't a language intended for embedding, and you need a lot of effort to bind the two seamlessly.

When Unity started making their engine in the 2000s they had engineering troubles with integrating the Mono C# runtime into their engine, and eventually they needed to obtain a custom license from Morell to fork and modify to their liking (at the time Mono was the only C# runtime that supported other platforms like Mac OS and mobile, and it was dual licensed as LGPL/commercial). There were also myriad problems with this choice, including being stuck with an outdated version of the Mono runtime which they needed to relicense (at a hefty price) to upgrade, myriad issues with the very slow Boehm garbage collector, etc etc. Eventually Microsoft would buy Xamarin (the successor of Morell) and relicense Mono to the MIT license, which was a lifesaver for Unity since they could now update to the latest Mono runtime at no cost. Still they're kinda stuck with their initial decision of using the Mono runtime, and it seems ever unlikely that they're going to migrate to dotnet (which I've never heard any success of embedding with C++). So in conclusion, it took a lot of time for C# in Unity to be useable to the degree we're at now, and it's more of a special edge case of gamedev history than anything else. Most game engines use a much more easily embeddable scripting language such as Lua for good reason (or end up creating their own language!)

About the topic of why does every game engine seem to go the route of creating their own scripting language, I find the explanation of the Godot Engine devs very well written: https://docs.godotengine.org/en/3.0/about/faq.html#gdscript-... (Godot Engine tried integrating many other languages before deciding to write their own scripting language called GodotScript.)

Re: Unreal vs. Unity Opinion

#86
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

It doesn’t sound like the way Epic operates, which is why Unreal is a solid, successful product.

Re: Unreal vs. Unity Opinion

#87
post #76

I really want to like Unity.. but they make it hard. There are a bunch of ways to do one thing, and those ways are probably deprecated. I really like their direction for DOTS, but their communication with their community is pretty much dead. They made a single post after a very long time with an update, and provide no real roadmap. UE5 is pretty good, having not used UE4. I like how they keep everything backwards com…

Unity has changed their tact with features. Dogfooding with Animation, Game Development, VR/AR. You name it, they have an open source project to start from: https://github.com/UnityTechnologies/open-project-1

New features include source access through Github, have QA testing statuses (Preview vs Verified), and have automated upgrade paths. I recently went from Unity 2019->2022 and it was seamless. Source code access is ubiquitous too.

This is all very different from the Unity 4 days where a patch version would break your project!

The downsides are that the Editor is mostly single-threaded, so in large multi-year projects, iteration time and navigation can be difficult. Unity have a “task-force” that are working to resolve these issues, but their communication is really lacking.

Unreal devs by comparison are much easier to get ahold of and have more open roadmaps. I’m hoping that Unity moves in this direction, but they’ve been burnt by this before: promising features in timelines that weren’t feasible (i.e nested prefabs)

Re: Unreal vs. Unity Opinion

#88
post #67

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…

Just want to +1 that Rider for Unreal [1] is GREAT. It's also totally useable for non-Unreal C++ projects. Things like code inspection (e.g. goto definition/find usage/etc) and refactoring are actually fast, unlike Visual Studio. I've got a few quibbles about low-level (think asm) debugging, but I've pretty much moved exclusively to Rider at this point. The Unreal-specific stuff is nice as well: being able to see wha…

Do you think it is possible to use IL2CPP within Rider for Unreal? Then C# could be used in RFU.

Re: Unreal vs. Unity Opinion

#89
post #74

Not to tone police that much but I really don't get people like Casey. Like his whole thing is spending a billion years writing his game engine, and then whining about all these "bloated" tools. Just completely dismissive of everything that doesn't align directly with his values (which don't include actually shipping game!) I like people who write their own engines and make bespoke things for fun. Just really dislike…

Just curious, have you seen the new tools in UE5 for prototyping levels? I haven't used older game engines, but these are rapid enough for me for blocking out a level.

https://twitter.com/highlyspammable/status/14963145572410982...

Re: Unreal vs. Unity Opinion

#90
post #74

Not to tone police that much but I really don't get people like Casey. Like his whole thing is spending a billion years writing his game engine, and then whining about all these "bloated" tools. Just completely dismissive of everything that doesn't align directly with his values (which don't include actually shipping game!) I like people who write their own engines and make bespoke things for fun. Just really dislike…

I don’t understand the point about the difficulty of grayboxing with Unity. Can you elaborate? All my projects start with programmer art — often just the built-in primitive (cubes, spheres, cylinders, planes).
Post reply on HN