THE BEST DEVELOPMENT PLATFORM FOR CREATING GAMES AND SPECTACULAR APPS
I think Unity Engine is not only for games creation but also in development of interactive applications and can taking advantage of the multi platform capabilities.
Certainly there are other good use-cases for Unity, but when it comes to public messages I think the idea is usually to keep it simple and tightly focussed.
Sure are! Archviz, biz apps for all sorts of purposes⦠wish I could think of some examples off the top of my head, but Iāve seen tons of em in the showcase.
Unity is a game engine. This means you are fundamentally tied to the game loop. Unity is great for anything that is game like, and uses the game loop. The home page has details about some of these applications, including training sims and architectural visualisations.
But if you are building an app that does not use the game loop, Unity will just get in the way. The game loop is also very performance intensive if you donāt need it.
Together with a colleague of mine Iāve created an exhibition application where you could drive a tractor and check out several different mirrors and rear-view cameras. All together with an actual steering wheel and multi-monitor setup.
Unity doesnāt have its feet firmly planted in application development. Yes you can make some apps inside of a graphics context complete with nice custom gui, but there is no support for operating-system-driven guiās or the vast array of operating system APIās that applications may need to access, etc. It is not a general purpose app development environment, it is a specialized app development environment well suited to highly visual apps.
Not really. Itās a simulator relying on the game loop. Ergo under broad programming definitions, itās a game.
Try making something like a photo album browser, music organiser or calary counter. Sure it can be done, and itās pretty simple. But there are other solutions that are faster an more performant.
Until you unwind the game loop Unity wonāt be your end all solution. And if you do unwind the loop, it wonāt be a decent game solution.
Well, thereās always the idea of a very modular engine where you can take out the parts that your app doesnāt need. If the engine could be designed in this way as much as possible, it could become much closer to the āright tool for allā.
Edit: Well, maybe the right tool for much more than it currently is right for, anyway.
My job is almost all about making ānon-gameā apps with Unity. Like @Kiwasi says, though, theyāre still all real-time interactive apps - simulations, demonstrations, visualisations, training tools, interactive presentations, etc. etc.
If something isnāt interactive then a video is probably a better idea. If itās not real-time then an event-based application framework is probably a better idea.
To expand on this, consider power usage (battery life) on mobile devices. For a standard event-based application framework, the application is only doing significant work when something changes. For instance, stuff typically only gets re-rendered when the user is doing stuff, and often only the portion of the screen that theyāre interacting with. So that might be a few dozen updates every few seconds. The rest of the time itās just re-displaying the same set of pixels. Itās optimised for that use case.
With a game loop, itās re-rendering the whole screen 30 or 60 times a second, regardless of what the user is doing. Thatās potentially 100% utilisation. Maximum battery drain. Thatās fine for a game because thatās what a game has to do - itās optimised for use cases where potentially everything is changing all the time - but sucks for a more typical application.