Hacker News new | ask | show | jobs
by mpartel 2226 days ago
> 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 :/

2 comments

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.