Live data from Hacker News

Unreal vs. Unity Opinion

gist.github.com

91–100 of 319 posts

Re: Unreal vs. Unity Opinion

#91

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.

Verse isn't entirely a new language, it's actually them acquiring the team behind SkookumScript, as well as some external hires such as Haskell/Microsoft Research's SPJ.

Excited to give it a try when it releases, will be interesting. The syntax previewed was... different.

Re: Unreal vs. Unity Opinion

#92
post #50
post #40

Earlier quoted context omitted.

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?

short answer: yes. If you stay within their uclass/uproperty framework, you have garbage collection, guaranteed initialization of class members, type reflection, etc.

Rare issues come up like: ``` int* Element = &Array[0]; Array.Add(0); *Element = 3; // could be access violation or memory-stomp if array was resized ``` Which can be addressed somewhat by code style policies.

Their garbage collector is also slightly weird in that it most things are deleted when there are no more references to it (as expected) but Actors can be deleted explicitly, in which case all references to them are set to null. This makes a lot of sense for a game engine actually, just perhaps unexpected from a language like C#.

Re: Unreal vs. Unity Opinion

#93
It depends on your projects needs. I built a music visualizer in Unity, and have no idea how I would of done this in Unreal. It was a small project, and I'm already using it to make videos. My biggest issue with Unreal is how hard anything is outside of Blueprints. C++ is much harder than C#, for my project I both load audio files locally ( you select your own music to play), and download some from a server. I'm pretty sure this is impossible without writing code.

If Unreal allowed for Python scripting that would make it much more appealing. I've never worked on a big project in Unity, I'm not sure what issues arise then.

Again, it depends on your needs. I do think most people are better off learning to program with C# over using Blueprints. Ether way your going to need to invest a significant amount of time learning. If you learn C# you'll be able to easily get a job even if it's not in gaming( this is what I did, and it's worked very well for me). I'm not sure what job learning Blueprints will get you.

The visualizer: https://www.youtube.com/watch?v=2dv2cjJIh2s&t=1s

Re: Unreal vs. Unity Opinion

#94
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…

If you look at the background Casey was in, then his thought process becomes a bit understandable. He worked for a long time doing R&D at RAD Game Tools, which is a company that provided various game development middleware and tools. So his interests naturally gear more towards low-level game tools/systems development rather than high-level design and scripting, which is why he couldn't understand the value proposition of more widely-used monolithic game engines like Unity, Gamemaker, etc. (For example, his attitude towards actual gameplay code in Handmade Hero is "It's not my concern, I'll finish the engine and then someone else will fill the gaps").

Note that he almost did have experience in creating an actual full game by himself before, though he didn't publish it eventually since he was unsatisfied with the final product, which is quite absurd to me! (https://www.destructoid.com/he-worked-on-it-for-three-years-...) He also worked on The Witness team with Jonathan Blow and others, but mainly on engine programming. He is currently working on a new game called 1935 (along with his other myriad projects like Handmade Hero and Star Code Galaxy), but details about it are very, very sparse.

Re: Unreal vs. Unity Opinion

#95

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

I've made several games in Godot and continue to use it, but it has serious issues that hamper it from prime time. Here are some I've encountered in my latest project, a point-and-click adventure in the vein of Myst - When playing non-OGV video files there will always be a black screen in the first frame of the video, no way around it - OGV video streams suffer from sound stuttering problems on playback - There are s…

On the other hand, being fully open source means if you've got a good development team you may be able to hack Godot itself to work around whatever limitations are currently biting you the hardest, and your shipped product doesn't lock you into any sort of revenue share or subscription fees because of the engine choice. This seems to be the approach done for the Sonic Colors: Ultimate remaster and as Godot gets better it may get even more attention from teams developing an "almost certain success" like a new big-IP game.

But I agree that they're still the underdog, and people who were holding out until 3.0 might continue holding out until 4.0 if they're planning on doing a demanding 3D game. I'm rooting for them still too though.

Re: Unreal vs. Unity Opinion

#96

Beyond game engines one of the things that drives me crazy about commercial software is when I find a bug, document it thoroughly, and submit it to the company only to be ignored. Even with a support contract and on rather severe bugs it can be way too hard to get something fixed. I know I'm not the only person being bitten by this bug, it's all over the help forums and Reddit yet the company doesn't seem to care at…

This is frustrating. I’ve been on both sides of it, what’s happening is that the team is likely juggling thousands of bugs in similar or greater severity, as well as their roadmap for new features. Some things just get deprioritzed over and over, even though everyone knows it sucks. It usually takes a rogue engineer in their extra time, or a dedicated “user love” budget (which I always implement on my teams) to fix it

Re: Unreal vs. Unity Opinion

#97

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…

The Unity Editor is moving towards being the container for extensible packages. There is source code provided for rendering pipelines, input handling, UI, and code compiling. This is a lot better than the Unity 4 days where everything would be bundled into the monolith.

But, Unity is not an IDE and neither is Unreal.

Re: Unreal vs. Unity Opinion

#98
One thing that wasn't mentioned: (realtime) multiplayer. What's the story here for Unity these days?

There's still a lot required in Unreal to implement things like bullet or projectile latency-correction unfortunately, but the base infrastructure they provide here is huge. Last I used Unity, there was essentially nothing. There were some third-party things but nothing you'd ever want to use in a shipping multiplayer game that isn't turn-based.

Has anyone actually shipped a multiplayer (not turn-based) game with Unity that doesn't regret the decision?

Re: Unreal vs. Unity Opinion

#99
post #9

Earlier quoted context omitted.

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.

Used Git with Unity for over 10 years. What problems have you run into?

LFS is of course a must. No one should be diffing audio files via text haha!

Re: Unreal vs. Unity Opinion

#100

Earlier quoted context omitted.

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, s…

Unity is currently working to make Unity compatible with .NET 6 / CoreCLR, but they don't yet have a release date for that yet. The progress is being tracked in this megathread:

https://forum.unity.com/threads/unity-future-net-development...

Post reply on HN