Suppose I wanted to make an app that wasn’t necessarily game related, would there be any issue with that?
Just curious.
Suppose I wanted to make an app that wasn’t necessarily game related, would there be any issue with that?
Just curious.
It doesn’t need to be a game, no. You can use unity for anything and everything. But it would make more sense to use it for something that is going to be highly interactive or have 3D rendering.
Yes, but most likely not in the way you’re thinking. Battery life will suffer compared to other development platforms. By the way this discussion has been done numerous times over the years. Some of the past discussions even list alternatives.
https://www.google.com/search?q=site:forum.unity3d.com+non-game+app
Which today is sort of expected out of a quality app, depending on what the application is for.
Unity is a great choice for app creation, if not just because it’s so damn compatible with everything out there. I would love to see what someone could do with Unity for non-game development.
Well I just started development of a non game app, and so far I’m really really liking unity as it’s platform, the new UI system, and multi platform support is quite awesome. Didn’t think about power consumption really, but not sure I’m too concerned with that honestly.
Yes possibly but maybe No.
You should base your technology selection on the best tool to solve the problem.
If your app requires lots of text, UI and be fast and light, then maybe the default target platforms development system would work better e.g. Apple’s Swift or Java for Android.
But if it’s relatively simple in UI terms and size and speed are not major factors then Yes.
Why not quickly build a prototype (should implement the core key things the App will do) in Unity and also in another development environment tailored to your target platform and compare the builds?
You should or you’ll get like 1 star on appstore or gplay. I’m serious. In any case, this could work, but expect some weird workflow to happen due to Unity being made mostly for games.
In most cases some other solution like Xamarin would be a better option.
Blah blah the right tool…blah blah power consumption…blah blah expertise…Just do it. The time saved by the multiple cross platform nature is well worth it. Especially if you work for clients whose budgets are not astronomical. Do you really want to Java, then Objective C, then C# then etc, etc?? when you can write once and compile for many. In this manner Unity is quite economic…a point missed by the naysayers. Ohh…you can get Unity for free btw!
I like how you put java and c# together with objective C to make a point about unity, despite both of them having cross platform options via virtual machines
Mono and JVM ftw
Why have to mess with several languages when you can write once and compile to many. I work freelance and often on fixed price contracts. The sooner I get to the end the better the pay. To me it is an economics based argument, not a compsci circle jerker yadda badda.
Has anyone tested the overhead from just running a Unity app? I feel like the game logic and graphics should impact battery life a lot more than Unity by itself.
That’s why I was amused that you included java and c#.
What about a triangular jerk?
I think in the other topic that was like this they had a guy do a benchmark for hello world on a native mobile language and then an empty unity application. I wouldn’t mind someone doing a more fair comparison and making an app that actually does something.
Just going to quote myself from another thread:
Technically possible? Yes of course. Good idea? Not at all.
Why?
However, ippdev makes a very good point about cross platform saving time (and time is money if you are freelance). Unity does shine in this department but the points above make this point mute as you will waste a lot of that time trying to force Unity to be what it is not . Believe me, I have tried. This is the money/time argument and is flawed.
There are a few ways if you want to avoid writing native apps for in Java for android and objective c for ios - HTML5 with Javascript is one. Facebook was written in this until the performance was so crappy that they even went native.
As someone with a lot of Android dev experience, I would always write native apps. If you can make your business logic platform agnostic - database designs for example or server stuff. Then actually, coding in objective c / Java will mainly be UI code.
Only if the squaw on the hippopotamus hide is equal to the squaws of the other two hides.
Depends on what you want to accomplish with the app. Nothing is carved in stone in this regards. I typically do not do applications without an art, 3D or animations approach and in this regards Unity is quite facile and allows me to just do what I do best and supplement it with functionality based on the Unity framework. Something like the VJ toolkit I wrote for The Marquee in Vegas would have been a nightmare in any other app creator or framework besides Unity.
Yeah, I was going to mention it really does depend on what kind of application you are making. I wouldn’t make a database management application in Unity . But yeah, if the application is animation heavy or has some kind of 3D viewer/features then I would consider Unity. I have made data visualizations in Unity was really easy to do and looked awesome.
But, yeah, totally agree.
Battery life is getting better, doing presentations in Unity is getting better, and anyone spending hours at a time on a mobile device wants to, they don’t need to.
Unity is fine for apps.
Any data to back these claims up?
From an android perspective:
Unity eats the battery of mobile devices unless you throttle the FPS and even then it is doing wasteful updates multiple times per second instead of responding to user input.
The UI in Unity is miles and miles behind the tools provided to native apps.
How would you recommend accessing the Android API from Unity (for example if I need to start tasks, export data from my app, accessing data provided by other apps or access hardware). Do I have to write my own plugins or use a AndroidJavaObject class and call methods by string names?
How can I make a home screen widget for my android app in Unity? Can I create reusable fragments?
I could go on and on but I think you get the point.
As ippdev said, if you have a graphics heavy non game app then Unity is great, I have used it for that purpose - Unity is awesome for data visualization, but for non graphical apps you really are making a mistake if you do it in Unity.
That said, I would like to see someone try and blog about it.
Please, I’m not going to be pulled into a M$ vs Apple vs Linux vs Google troll war.
I’ve known assembly a long time but even as a firmware developer we avoided assembly at every possibly opportunity.
Apple is worried about the type of Universal App that Unity is going to be able to produce. That’s why Apple created Metal. You think Apple is going to stop in ease of use there or try to match Unity? And Metal’s being integrated into Unity. That’s all you need to know to understand.
And to summarize I’ve more comfortable with a big business like Unity hiring top flight engineers to produce optimized compiler output then assuming that code produced at a lower level of abstraction is by virtue of that lower level of abstraction better and faster than what Unity can do. Because let’s face it, one person trying to abstract to multiple architectures isn’t going to have the resources to vet their abstraction results that Unity has.
This thread is like those males that buy a bigger size shoe then they actually need because they’ve heard rumours about what foot size correlates to.
How is this a troll war? Unity is simply heavier on battery usage than other development frameworks. Thus if you want to justify using Unity there should be some advantage that Unity brings you that cannot be easily achieved with alternatives and that’s often going to be real time interactive graphics of some kind.
Using an alternative framework instead of Unity is not at all similar to using assembly instead of a high-level language.