Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Should I use Unity to make non-games?

Discussion in 'General Discussion' started by Azbo, May 16, 2016.

?

Should I use Unity to make non-games?

  1. Yes, you should.

    17 vote(s)
    73.9%
  2. No, you should not.

    6 vote(s)
    26.1%
  1. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    Hello, everybody!

    I want to start to expand on just making games. I want to start making non-games for iOS and Android (like utilities). Over the past year I got myself so familiar with unity and as a student I do not have any time to find out how to use things such as Xamarin to make my apps. Last year I spent all of my time learning Unity during my summer break and this summer break I want to mainly focus on the making aspect of things and not focus on learning something new from scratch. So my question, is now that Unity has all these new performance feature is it still worth my time to learn something new? I read a thread posted in 2013 saying it will have some battery problems but did Unity cut down on those problems. In my app all I would mainly do in unity is making the UI and code in Visual studio I probably would also has ads in my apps as well as an sdk to a cloud server to manage accounts. These apps will have a very simple UI with just some little animations and a material design. It is not going to be very graphic intensive at all.

    Thank you for your help everybody and keep coding!
    Ryan, Opticode Software
     
    Last edited: May 16, 2016
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    You're not providing sufficient information about your application to make a good vote on the poll. Unity is great for when you need some form of real time visualization. Most situations outside of that have far better choices than using Unity.
     
  3. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    @Ryiah Thank you for the response. For the apps I am thinking about making with Unity do not have real time visualization. It is more of just a simple layout with maybe a few animations and a material design theme.
     
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    Software intended for developing non-game applications should be able to handle this with no problem.
     
  5. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    Okay thank you for your answer ;) @Ryiah
     
  6. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Unity is awesome for anything that is 'game like'. So if your app needs a high refresh rate and specky visual effects, then Unity is for you.

    If you are building a photo browser or a check your email app, you probably don't want Unity. Unity can do the job, but the UI tools are inferior. And Unity has a tendency to chew through battery. Okay for games, but not the best for non games.
     
    zombiegorilla and Ryiah like this.
  7. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    Just to emphasize this a bit more, while you can reduce the frame rate you wish to achieve with Unity (through methods like Application.targetFrameRate), you will still always be rendering new frames.

    By comparison software developed on non-game frameworks will generally only update when necessary and even then it will only update the portions of the screen that actually need to be updated.

    This doesn't just affect battery life. It also affects the amount of CPU, GPU, and memory resources in use. It's less important for a game as a game is expected to be heavy on resources, but a non-game app is expected to be low on resources so that it doesn't interfere with other apps the user is running.
     
    angrypenguin, Martin_H and Kiwasi like this.
  8. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Yes. And doing this comes with its own set of problems. By the time you have reduced the frame rate enough to make a difference, input will start to become less responsive. Unity ties input directly to the frame rate.

    There is still something to be said for already knowing how to use the engine. Performance is not the only consideration, sometimes development time is important too.
     
    Ryiah likes this.
  9. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    @BoredMormon @Ryiah Thanks for your responses. I guess I may take the time to learn a new platform so that my users can have a better experience.
     
  10. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    702
    What platform is recommended if not Unity?

    I love how easy I can design stuff in Unity, especially with the 4.6 UI and its sprite slicing.
    I haven't seen other app creation platform that allows easy multiplatform seamless designing (Anchor) & layout for UI.
     
  11. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    @Gekigengar That is why I wanted to use Unity to create non-games ;). I guess I would just use Xamarin which I am learning currently.
     
    Gekigengar likes this.
  12. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    If you want multi-platform GUI, then it'll be Qt 5 framework with C++. Infinite cosmic power, pretty much, when applied to gui development.

    If you want non-gui movie-like app, you could probably cobble together solution from pretty much anything that is available.
     
    Martin_H likes this.
  13. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    702
    Well, nobody has done it, that means a billion dollar opportunity is available for that app engine!
    since nothing comes close to visual designing in Unity 4.6 UI currently.. :eek:

    Sadly I have no programming experience. :(
     
    Last edited: May 20, 2016
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    Personally I love the WYSIWYG editor of Visual Studio.
     
    Gekigengar likes this.
  15. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    Thanks for the input. I really do not need much GUI components however. I mostly care about something that is easy for me to learn even if that means programming the GUI components because like mentioned in my thread I do not really need much graphics or anything like that.
     
  16. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,789
    What is the learning curve like on Xamarin for you?
     
  17. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    @ippdev There isn't really for me. I am just really used to Unity I do not want to take the time to learn something new.
     
  18. Cromfeli

    Cromfeli

    Joined:
    Oct 30, 2014
    Posts:
    202
    Only real world question you need to answer is: "Can I afford my users to wait extra 1 sec when opening my app?"

    If answer is yes, do all your apps with Unity. Specially if it is your tool of the trade. Unity has such a dramatic advantages for multiplatform deployment and the vast array of tools available to make any kind of apps that it is highly recommended. Only extremist technical people will ask you "Why use full scale 3D engine when you can make assembly code version so much faster" but as said, these are just pure nuances.

    If you like the tool, use it. Tool is just a tool, you are the artisan :)
     
  19. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,789
    I agree with this. I was wondering if I should use Xamarin for ArcGIS geofencing as it had an example app. It is for a favored customer app I was asked to bid on. I did not want to bid too high and lose it nor bid too low and spend an inordinate amount of time jumping through hoops and searching forums and blogs for answers. I guess I will just adopt their script for Xamarin to Unity. I am actually proposing AR and scanning a target at the cashier to avoid people just walking by and acting like they went in to get further discounts. Plus I can put some whiz bang 3D that can sit right on the target when they view it with the cam during target scanning,,and I need some AR in my portfolio anyways so might as well have them pay for it. That is my excuse for using Unity and I am gonna stick with it:)
     
    Cromfeli likes this.
  20. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,039
    I think @Cromfeli's assertions are way off base (e.g. assuming same level of expertise its much easier to build cross platform mobile apps with multiple integrations with PhoneGap than it is with Unity).

    Here's a few of the issue with using Unity for apps:
    • Building native or native feeling UI is a key part of building apps with a good UX. Unity will allow you to create your own super cool UI that doesn't follow any established mobile norms, but it does not make building native UI easy (MAJOR)
    • Service integration, particularly support for social (think multiple social logins, etc) is getting better in Unity but its still well behind established mobile development frameworks. (MAJOR)
    • Backend development still needs to be done and you will pretty much have to write your own integration layer as there is nothing standard (MAJOR at least until you get your framework established, and then MAJOR again when you realised it doesn't scale, is insecure, etc)
    • Your apps will drain much more battery than other apps (MINOR at least until a bunch of users notice it and rate your app 1-star)
    • Your apps will be larger than it needs to be (MINOR until you realise that while your app downloads users are trying a competing app and its good enough, so your app never gets opened)
    • You will have access to many more resources, examples, etc meaning you don't have to reinvent the wheel (MINOR to MAJOR depending on your app complexity and experience level level).
    • Unity support (official or via app store) for new phone features and APIs is far behind the big mobile app development frameworks (MINOR until you need some of those features)
    Once you learn a mobile framework (Xamarin, PhoneGap, Titanium, whatever) you will be able to turn around quality mobile apps much faster than you will in Unity. Yes it will take some time to get up to speed, but if its a long term plan its well worth it.

    So in summary, use Unity if:
    - Your apps are game-like
    - Your apps need 3D rendering
    - You are doing an occasional gig for small client base
    - You want to build a few MVP/shovel-ware apps to test the market or just to get something out there
     
    Last edited: May 25, 2016
    angrypenguin, Ryiah and Kiwasi like this.
  21. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    There are also some features that are simply irrelevant to games and don't get support at all. Scheduling a calandar appointment from within a Unity app is painful.
     
    angrypenguin likes this.
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    You're neglecting some of the most important ones. Ones such as: "How important are accessibility features and will they be easy to support?", "Will my users tolerate a heavier drain on resources, and their battery if the device is mobile?", etc.

    Accessibility is an important one as even those who are visually impaired are using smartphones.
     
    Last edited: May 25, 2016
  23. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,789
    Time = Money = Bid Level
    Bid Level = Ease of Development
    Ease of Development = Slope of Learning Curve
    No Learning Curve Slope = Easy Development = Low Bid = Money In the Door = Bacon On The Table

    UI?? Like it is really hard to duplicate standard UI's? I can do that dead drunk and I don't drink. Some of the excuses I see around here border on pathetic. Carry on.
     
  24. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,039
    Bullshit. I guarantee you it will take you many hours and probably days to replicate something like the navigation menu system that you get relatively trivially when using native or a native wrapper. There's all the simple stuff like sliding things in and out smoothly, fading, flashing, maintaining hierarchy, actually creating the artwork, etc. But then you have all the search functionality which lets you find actions anywhere in the app, oh and it can be driven by voice, hooked in to push notifications so they take you to the relevant action, etc.

    The less of this your app does the crappier it feels.

    You equate it to money, but if you build more than a few apps the equation flips rapidly. You can push out quality mobile apps significantly quicker with a framework designed for doing it. Not to mention these frameworks are generally much easier to learn than Unity (they have a lot less going on).

    - - -

    Food for thought: If you were a PhoneGap user and someone asked you "Should I build a nextgen FPS shooter in PhoneGap" would you recommend that they do it?

    Food for thought: What would you say to someone who said they wanted to use CRYENGINE to build a Calendar app?
     
    Last edited: May 25, 2016
    angrypenguin, Kiwasi and Ryiah like this.
  25. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,789
    I have been building UI's since 1994. I did Flash development for 10+ years creating UI's far beyond the complexity of a native UI and Unity for 7+ years. I could recreate a standard UI drunk and I don't drink.. You cannot guarantee anything about me so.. not an argument and not worth pursuing. FPS in PhoneGap? Not an argument and not worth pursuing as it is based on false equivalency. Carry on.
     
  26. Azbo

    Azbo

    Joined:
    Jul 15, 2015
    Posts:
    35
    I think there is a big point. Though Unity will use much more battery and stuff like that, if I use something like Xamarin it would run faster for a regular simple 2d app. But my question is there some way to reduce the battery being drained and that one second it would take long to load? Perhaps in a script or in an Asset store plugin. Thanks for all the help anyways!
     
  27. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,026
    Nothing that would even remotely approach the battery usage levels of a framework intended for applications and still allow your Unity app to function as expected. At least nothing that we could think of back when a similar discussion was spawned.
     
    Kiwasi likes this.