Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Out of any software tools I use frequently, Unity is the one that brings me the most joy.

Any reasonably complex interface is essentially a game whether it's a music composition app, simulator, MMO or even a basic form.

The basic abstractions of entities and components sometimes feel like they could apply to any software project. It's seamless to animate something, add physics, style in ways that would seem mind boggling in other environments I've worked in like Python or Javascript.

You can learn so much going over basic Unity tutorials on Youtube and disassembling Unity games on Steam.

The asset store has many people aggressively experimenting with better user experiences for doing certain tasks whether its character skinning or node based programming, many of the best assets end up added to Unity by default.

Unity is not mostly used for mobile games, some insanely complex games are made in Unity. You can check out this list on Steam https://store.steampowered.com/curator/31285130-Unity-Engine...

Unity ML agents is the single most exciting ML project out today which helps you create the most complex Reinforcement Learning environments you can dream of.

Unity ate the indie game market but I think they will also eat Robotic simulations, Animation, interior design, VR, Web apps and Desktop apps.

Can't wait to buy shares.



> Any reasonably complex interface is essentially a game whether it's a music composition app, simulator, MMO or even a basic form.

I've been out of the game development arena for a while, but I can't help but pause here. Are people really writing DAWs and big desktop app interfaces in Unity?

The last time I played with a game engine, I would have said UI was its weakest aspect. Clunky, slow controls, visually unappealing, and certainly lacking in accessibility. Without researching more, I would feel pretty confident placing a bet that if I pointed JAWS at a Unity Window, it would say "Game Window" and that's about it. Windows accessibility hooks and tab navigation certainly didn't work out of the box, and I would say that is bare minimum for a UI toolkit.

So while it's valid that Unity is a beast and game engines will eat the world for games, I have a really hard time taking them seriously for UI-driven application development.


> Are people really writing DAWs and big desktop app interfaces in Unity?

Arguably the biggest non-game applications are in virtual cinematography, architectural visualization, non-game simulations, and immersive art installations. Most of those uses don't result in discrete "apps", though, they're just workflows within Unity designed to produce a specific type of output.

One prominent example of a discrete pro app made from Unity, though, is Digital Monarch Media's filmmaking toolsuite, which is built on Unity.[1] But it fills some unusual hardware and interface needs that Unity is built, or has plugins, to provide (touchscreen interfaces, motion tracking, color grading).

That said, I see non-game apps in the vein of content creation or productivity pop up more frequently now in Godot development than Unity. There are some proof-of-concepts, like the Godello[2] Trello clone that was posted here a while back, but more useful examples are Pixelorama[3], an open-source pixel-art editor built with Godot, and Heavypaint[4], a painting/sketching app.

[1] https://www.vfxvoice.com/instant-feedback-expozure-expands-i...

[2] https://github.com/alfredbaudisch/Godello

[3] https://orama-interactive.itch.io/pixelorama

[4] http://www.heavypoly.com/heavypaint


Godot is written in Godot. Anything you see in its UI can be used by Godot developers.



Just wanted to say thank you for the excellent resources


According to Bloomberg[0], non-gaming clients make up 10% of Unity's business.

> [Unity] helps Volkswagen AG train employees, was used by filmmakers to shoot the recent “Lion King” movie and by the Hong Kong International Airport to simulate changes in passenger volume.

I don't know enough about these domains to say whether it's a good (or bad) idea, but I've also heard of Unity being used for other kinds of modeling and simulations too (climatology, traffic, etc).

[0]: https://www.bloomberg.com/news/articles/2020-05-07/unity-tec...


> Lion king

I'm fairly sure this is incorrect.

Unsure about Lion King specifically but all of the other recent Jon Favreau titles (The Mandalorian, The Jungle Book) have done virtual production with Unreal Engine.


From Engadget[0]:

> The workflow of The Lion King was vastly different to The Jungle Book. MPC worked on 'master scenes' in London with industry-standard tools such as Maya. It then developed an "asset management system" that could translate the scene into something that was compatible with Unity, a popular game engine.

Also, this YouTube video[1] goes over the process in more detail.

[0]: https://www.engadget.com/2019-07-29-lion-king-remake-vfx-mpc...

[1]: https://www.youtube.com/watch?v=KCnayCnM6Zk


Ah interesting, I guess it makes sense considering its a different workflow from the two titles I mentioned which were compositing people into CG backdrops.

Thanks for the correction.


> Are people really writing DAWs and big desktop app interfaces in Unity?

I’d love to know if Unity is made in Unity. The Godot game engine’s development environment is made in Godot (which is why it was able to be run in web browsers using WebAssembly https://news.ycombinator.com/item?id=23354286).


Unity is not really made in Unity - the core engine is in C++ that is separate from the userland C# scripts. However, it uses the same UI library that's available to users (IMGUI, and being upgraded to UIToolkit), which makes it easy to extend.


This is an example of someone who has built a robotic simulator in Unity https://www.youtube.com/watch?v=AvZgbB71yb8&feature=youtu.be


"...I have a really hard time taking them seriously for UI-driven application development."

It's been a long time since I've done serious UI work, so am not aware of the latest grievances.

But it'd be great if stock UI frameworks were more like game (simulation) engines. Scene graphs, composition, event loops, command objects, etc.

Just like sufficiently complex C programs become buggy implementations of LISP, interesting UIs eventually recreate a poorly conceived and terribly implemented simulation engine.


Potential advantage to Unity is it was developed from the ground up to do all that. Unlike the browser.


Potential advantage to using a browser is that it actually works. Unlike Unity.

But in the end, Electron or Unity doesn't matter, both are equally bloated.


Problem with the browser is it's optimized around countering network latency and security issues. All those optimizations are essentially worthless when running a native application.


For quickly making a cross-platform mobile apps, it is definitely going to emerge as the new first choice. I've been burned so much by cross-platform issues trying to do anything complicated or graphical with phonegap/cordova/electron/react...


I think GP meant that a lot of patterns that are common in game dev could also be applied to other kinds of software.


It doesn't read that way to me, since it ends with "can't wait to buy shares" and is sandwiched between other examples of how Unity brings them joy - implying Unity is the platform on which all of these things will be built. I guess OP can clarify if they desire, and my comment still stands regarding Unity's UI toolkit.


Labster uses Unity to simulate lab work for science students:

https://www.labster.com/

Unity's co-founder David Helgason is an investor in Labster:

https://techcrunch.com/2017/09/06/virtual-science-lab-startu...


I've made a node-editor based UI heavy application for real-time texture synthesis in Unity[0], for which it is quite good. Although I agree that it doesn't integrate platform native UI patterns well.

[0]: https://www.youtube.com/watch?v=9xU4Dtp7cV8


Agree. Unity has rather verbose graphs to describe GUIs, so it is more like XAML, which I guess works, but isn't exactly elegant. And no, Unity doesn't have any accessibility by default. Plus it tends to have a few ms of mouse cursor lag, which can be pretty infuriating to power users.


Yes, I guess. I was installing an app called Rekordbox (its a library manager and a performance app for digital DJ hardware on the Pioneer DJ platform) and, sure enough, spotted a bunch of Unity DLLs being copied in the setup program.


Unity's homepage lists four industries they target and Games is only one of them. Seems clear they also want to sell into Manufacturing, Construction, Film, etc.


For MVP you can't beat speed of development with Unity. You can create a complex UI with full logic in a matter of days.


Press one button and presto: you have a game running on all the environments one could possibly want today. This alone is worth putting up with a lot of deficiencies in the UI, or the API, or whatever.

I remember this boat in early 2000s, when engines were less capable, and I was younger and more arrogant. The thought of using some crappy engine with last gen graphics would make me laugh. Of course I was going to make my own thing in C hand-optimized to squeeze every last triangle from the hardware. Good luck if you didn't have that exact hardware configuration :)


To be fair, back then, engines were far more limited and there were much fewer platforms to support (only supporting D3D back then was viable).

Plus it's a lot of fun to write your own engine. Sure, texture loading or managing sound buffers won't make your game better than others, but it's definitely fun to write that code.


Reading your comment makes me incredibly jealous, as I can only wish and hope to one day have a pleasant experience with Unity like you.

Whenever I had to work with it in the past, we ran into bugs inside the closed-source C++ part of the engine which then delayed release or required expensive workarounds. Their sales department is ghosting us because we're a mid-sized company and their support is closing tickets for "LTS = long term support" releases as "please resubmit with current beta".

Then there's the overall st-show with Unity deprecating things as soon as they have a beta draft for its replacement, which basically forced everyone to use external networking libraries. Plus HDRP is still buggy, but they already removed the old built-in RP.

And if that wasn't bad enough already, their own built services will randomly fail if you use advanced features, because they run their OS X builts in QEMU on linux or something.

Last time I checked, they now also deprecated the ability to write custom shaders. I agree with their reasoning that I should not need them. But with all the buggy mess in their engine, I surely DO need them just for workarounds.

For fairness of comparison, we've run into equally bad bugs with UE4. But at least for Unreal, I have full C++ source code so I can fix things and move on. With Unity, you're constantly waiting for their support team to (ignore you / close your ticket / make fun of you) help you.

As for the Unity ML agents, I find that rather scary. There have been many papers about AIs exploiting bugs in the training environment. Given how buggy Unity is, I would expect AIs trained in Unity ML to wreck havoc in the real world because they're used to the physics glitching or something like that.

Unity is great to get started as a hobbyist. But as soon as you actually want to release something on a consumer quality level, it becomes walk through complexity hell.

There's a very good reason why every bigger Unity studio purchases source code access and has dedicated Unity-bug-fixing employees on staff.


Just curious, what do you think of UE's Blueprint? I wish they retain Unrealscript which could be a much more pleasant experince than linking graphs. Blueprint is the biggest blocker on my side, but again I'm not a professional so I could be totally wrong.


The pain comes after you finish 80% of the game and start to work on the 2nd 80%.


Exactly my experience. That's when bugs from 5 years ago hit and block your release.


I was a fan of unity until they retroactively changed their asset store license. They revoked some of your usage rights in a cash grab in February (specifically, the right to let freelancers use your assets, so now you have to buy them their own copies). How can you depend on a company like that for the crux of your business when they use their “we can modify these terms at any time” clauses in a predatory way against you?


> I was a fan of unity until they retroactively changed their asset store license.

Pretty certain you can't do that.


Pretty certain they did that, even though you can in theory challenge it in court.


I used Unity for robotics simulations, and while it was incredible in most ways, it was really heavy. A lot of the scientists involved were working with old computers and the simulator was a little too slow for them.

Perhaps I could have optimized better, but I struggled to find ways to do it. Admittedly, their computers were laughably old and terrible. Building $250k robots and working on under-powered laptops from 2010 or so - I never understood it.

One of the main obstacles that could have helped a lot was reducing mesh complexity. We were working with models directly from Fusion 360 and the meshes were incredibly dense. No one was comfortable deviating from the original models, so interpolating meshes or even manually reducing polygon counts wasn't an option. There was concern that we'd end up losing important data and create inaccurate simulations.

Anyway, it was an incredibly fun project and Unity made it effortless to prototype. It was ultimately built from the ground up using another tool which allowed for much better performance, but Unity allowed us to finish prototyping way, way ahead of schedule.


This is my first time being involved in a game. Is there a way to make dependency/package management not abysmal? I was legitimately shocked when I realized that if you wanted to install a .net standard 2.0 library, you had to manually walk the dependency tree of that library and download/copy every single DLL into your app. Did I miss something? (probably)


A very cheap way of getting all the netstandard2 dependencies together in one place for the sake of Unity's bullshit is to create a vestigial .NET Framework 4.7 library that imports all of the .NET Standard 2.0 libraries you care about, and then set its output directory to somewhere within your Unity project's Assets/Plugins directory.


There is a nuget Unity library that will do this for you (and more) https://github.com/GlitchEnzo/NuGetForUnity


You can get nuget to work by having it put the packages under the Asset folder but you'll need to manually clean up targets you don't want. Unity has its own (a few actually =/) package system.


Unity has also a lot of potential in the Cybersecurity industry, for people that wants to train themselves on Industrial Systems.

The only thing that makes industrial Cybersecurity really hard for students is the industrial systems laboratory requirements.

With Unity, some people are trying to build completely virtual pentest labs on industrial systems, such as GRFICS (https://github.com/Fortiphyd/GRFICSv2).


> You can learn so much going over basic Unity tutorials on Youtube and disassembling Unity games on Steam.

Well, that escalated quickly.


Love this positive attitude. Have you tried using Lens Studio?

I never thought I'd say a tool brings me joy, but Lens Studio brings me joy.


>… Web apps…

I for one am not eager to download a 3D rendering engine when accessing a website. For a good number of reasons.


My only real complaint with Unity is that they are kind of mired in GameObject and ECS/DOTS are not quite first class yet, despite being universally better (with only slightly more code).


This was the type of information I was looking for in the comments. I don't know if what you're saying is accurate, but it speaks to the entire reason for a company to go public: Raise capital to expand the business.

Looking into the S1 highlights a Volvo customer info graphic. Unity seems to be proficiently expanding into other segments. They can really solidify their position in these other markets by having a vast breadth of talent available that knows their tooling across various industries. Unity experience will be valued as a skill set, not just game experience. That will drive further adoption of the platform.

This seems to comport with what you're saying. I think there's real opportunity here.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: