Hacker News new | ask | show | jobs
by voppe 2226 days ago
I agree with the first statement. I'd go as far as saying that Unity is the JavaScript of game development.

Sure, when you start out you get out results FAST, but then you run into limitations, weird behaviours and quirks that have to be worked around, and soon everything becomes a mess.

Mind you, I'm a hobbyist in this field so maybe you could chalk it out to inexperience, but I shiver to think to what professional developers have to deal with if the small prototypes I cranked out got so convoluted.

I'm trying out UE4 lately and although it can be daunting at times (and with horrible documentation), it feels much more comfortable to use in the long term.

3 comments

> Mind you, I'm a hobbyist in this field so maybe you could chalk it out to inexperience, but I shiver to think to what professional developers have to deal with if the small prototypes I cranked out were that painful.

Careful adherence to best practices (often discovered the hard way), banning certain code pitfalls with a linter, and many workarounds :(

It took me months to make something semi-usable out of (a subset of) UNET, and I can clearly see why nobody at Unity wanted to maintain it. Still, something half-decent and mostly backwards-compatible could have been made of it with enough work, but again they chose to chase the new shiny :/

See - exactly like Javascript!

The more you can avoid the "nice" stuff the better your project will be. All those shiny things in the UI that look easy will be painful in the long run once they start disappearing (I swear component references just disappear sometimes) and breaking and making the life-cycle of the application confusing.

If you haven't already, take a look at Mirror - open source reimplementation of UNET with hundreds of bug fixes and improvements
My main complaints about UNET could be summarized as "the order in which things happen is very chaotic" (in unbelievably many ways!). I've not checked to what degree Mirror has improved on this.

Based on a superficial look, I'm worried it might have been more concerned with adding features than fixing and simplifying the fundamentals, but I don't really know.

Mirror is amazing :) But it's a big shame for Unity that you need to use it in the first place, because they don't ship a working networking stack out of the box.
What limitations does Javascript result in after initial FAST results as you say? All of the web is running on JS. It’s not without its faults but I resent the analogy.
Do you have any pointers towards good tutorials for a hobbyist on UE? I dabbled with Unity and want to see the other side and it wouldn't hurt to get back into C++ after all these years.
Sorry, I don't have a solid reference, I'm mostly watching snippets of random youtube videos and trying stuff out on my own and putting the pieces together as I don't have the patience to sit through a course.

Also, I'm working with blueprints as the C++ side lacks any kind of docs or tutorials. Initially I was repelled by them, but after getting used to them, they're not as bad as they seem at first glance.