11 July 2018Comments are off for this post.

Building business 3D apps using Unity – is it worth it?

Although we at Setapp have been using Unity for developing non-game apps for some time now, there’s still a lot of dispute online (& offline) on whether Unity is a good-fit for non-game development. Some advocate it, while others find using it for non-game development quite bizarre.

Before handing out my verdict on the ‘Unity for non-game paradox’, here’s a short intro to Unity for those who aren’t familiar with the technology.

So What’s Unity then?

In Unity’s own words...

Unity is a platform for creating beautiful and engaging 2D, 3D, VR, and AR games and apps. A powerful graphics engine and full-featured editor enable you to realize your creative vision fast, and deliver your content to virtually any media or device. (source: Unity)

Let me break that down for you...

Unity is a cross-platform (single code-base for multiple platforms) game engine developed by Unity Technologies in 2005. That’s right 13 years on the market. It’s primarily used to create 2D, 3D, VR and AR games, apps and experiences. It’s free to use for beginners, but once you pass a certain threshold (in revenue), you’re not allowed to use the personal plan. The paid plans start at $25/month.

I won’t bore you with more theory. You can read more on Unity’s official website including its various features and uses.

Now let’s get back to the argument: Unity for non-game development.

So after digging into various forums online and asking our 3D developers here at Setapp, I can assure you that Unity is definitely a viable platform for non-game applications. But there’s a catch!

Unity is great if you’re developing a 3D app.

Unity thrives in 3D environments. So, if your app requires 3D physics and calculations like in a simulation for example, then Unity is a good choice. Unity is also great for creating AR and VR apps and experiences!

Shapes AR geometry learning app

Shapes by Learn Teach Explore, an app to teach geometry to primary and middle school students is built using Unity.

 

In fact, Unity is being successfully used a lot recently to build immersive experiences in industries such as education, architecture and industrial training. In a separate blog post, I've shared some worth-mentioning non-game projects developed in Unity. Check them out!

So where is Unity not a good fit?

If you’d like to achieve a more native feel to your app, then it's better to use app-focused technologies and development platform such as Microsoft Xamarin and React Native.

Now I'm not saying Unity wouldn’t do the job but it’s better to leave Unity aside here.

Why?

Unity's UI system is aimed at simpler interfaces found in games and media-centered applications. Some more sophisticated widgets and components that are present in native frameworks may be missing, and you'll need to write your own. For instance, integrating iOS's HealthKit app with Unity can be cumbersome.

Although, some native features are integrated with Unity however it's not always the case.

Apart from that, you shouldn’t use Unity for native 2D apps because of the following reasons:

  • The whole engine is built into the application. Meaning, the build size (size of the output application file) is larger compared to the native apps.
  • The battery usage is crazy! It’ll drain the battery like a game, even if you make some basic UI components.
  • A UI-heavy application would suffer in terms of performance and resources. When you’re going for a UI heavy app, then you should consider going for a native app.

Having said that, Unity is evolving and recent releases have resolved some of the issues associated with non-game development.

Summary

If you’d like to have a multimedia-rich, interactive app, then go with Unity or other similar platforms. If you're looking to achieve a more native feel for your app, then go for native oriented platforms.

With demand for VR and AR applications at an all-time high, Unity should be your go-to platform. Whereas, if you’re developing a Native 2D app - stay away from Unity, at least for now.


I hope this article gave you a general idea of the potential of Unity as a non-game development platform. If you'd like to discover some great non-game apps developed in Unity, then check out my blog post: AR, VR and more – 6 Non-game apps developed in Unity.

Let us know in the comments below if you've any questions on Unity or 3D app development. Our experienced 3D app team will be happy to answer them!

non games apps unity

 

28 February 2018Comments are off for this post.

Why we transitioned from game to 3D app development – developers’ story

This blog post is co-written by Norbert Lesny and Łukasz Mielnikowski from Setapp's 3D app team. 

Moving from game to app development might seem like a long leap, but it was in fact quite swift for us. We transitioned mainly because we felt that the game development environment was not consistent enough and there was almost never a fixed end-goal.

For instance, in game development, there were many ideas which looked good on paper, but after implementing them they were scrapped. Also, some game ideas turned 180 degrees, for instance, at first it was intended to be a 2D game for Android but ended up as a 3D PC game.

So after working for over two years in game dev, we had enough. Not because game development isn’t exciting but because we wanted something more challenging and significant.

And that’s what motivated us to join Setapp’s 3D development team.

1. Our efforts were not always valued in game dev

One of the most irritating aspects of working in a game development company was the disordered development environment. We felt our time and efforts were being wasted at times. For instance, we’d write multiple lines of code which were later deemed useless by the PO (Product Owner)!

In game development, there are often multiple ideas. For example, make flying monsters, make swimming monsters, make four-legged monsters. All that takes you 2 weeks, and then the PO comes and says "you know what. Those flying and swimming monsters are stupid. Let's get rid of them ."

2. Quality over quantity in 3D app dev

We also felt that the focus on quantity of code was higher than its quality in game development. This often leads to messy code. It was so sloppy that other developers in our team would often have a hard time understanding it. This meant having a lot of mechanics to implement and barely any time to refactor new code. It was painful!

In app development, it’s a different story altogether. The emphasis on writing quality code is the norm, which makes our life a lot more satisfying!

3. Learning possibilities are wider

We are learning all the time in app development. At Setapp, we are fortunate to have great mentors and leaders who value our personal development. We are given space and time to dig deep into topics of our interests and acquire new skills relevant to the latest tech trends.

3D app team Setapp

The awesome 3D app team at Setapp

 

In game development, we hardly had the opportunity to improve ourselves. For instance, while developing mobile games, we were supposed to work on many projects as fast as possible (one after another). If users found a project appealing then we’d improve this project! So basically it was like the game designer had an idea, we’d talk about it for a few days and then try to implement it as fast as possible. The curious case of a headless chicken!

4. Positives of Unity for non-game development

  • Unity supports multiple platforms. This is great for apps which you would like to deploy for Android, iOS and also desktop.
  • Making the user interface layout in Unity is pretty straightforward. But if you want something completely customized, then in Unity it may get quite challenging.
  • Unity is easy to start but hard to master. For example, in other game engines, you can hit the wall at the very beginning, but with Unity, you can start working in two weeks.
  • Unity is not very hard to learn. You don't even need any programming skills to start doing some basic things in Unity.
  • The main programming language used in Unity is C#. However, it's not that hard to adapt to if you already have some skills with other languages like Java or C++

5. Exciting and meaningful projects

The projects in app development tend to be much more interesting and meaningful than in game development. For instance, the project we are working on right now is about helping people navigate around huge buildings like shopping malls, airports, and hospitals. So, basically, the physical map that you see at mall entrances will now be available on your mobile phone.

It’s connected with spatial coordinates, placing the venue on the map and calculating correct positions for the user - that's the challenging bit. Having the proper architectural structure for the whole project and making it maintainable for years to come is one of our main concerns. That’s one of the greatest points of this project and one of the biggest differences from what we were doing in game development.

To wrap up

So that's our story. We are learning non-stop, and the projects we are now working on are far more fulfilling than the ones we had in game development. The Setapp 3D app team, including our mentors and team leaders, are very supportive, both in our personal and professional development.

In the end, we would say that working in 3D app development has opened up many possibilities for us. Yes, there are challenges along the way. But hey! Who doesn't like challenges?

Ready to take the leap? Then check out Setapp's career page. We are currently expanding our 3D app team.

Still not sure? Leave a comment below or email us and we'll help you clear your doubts.

 

3d unity jobs setapp

 

OUR OFFICE

Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

OUR OFFICES

POL: Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

ISR: 220 Hertzel Street, 7630003 Israel

COMPANY DATA

Setapp Sp. z o.o.
VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

OUR OFFICES

PL: Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

ISR: 220 Hertzel Street, 7630003 Israel

COMPANY DATA

Setapp Sp. z o.o.

VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

OUR OFFICE

Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

COMPANY DATA

Setapp Sp. z o.o.

VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

 COMPANY DATA

Setapp Sp. z o.o.
VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

OUR OFFICES

POL: Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

ISR: 220 Hertzel Street, 7630003 Israel

COMPANY DATA

Setapp Sp. z o.o.
VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

OUR OFFICES

PL: Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

ISR: 220 Hertzel Street, 7630003 Israel

COMPANY DATA

Setapp Sp. z o.o.

VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

OUR OFFICE

Wojskowa 6, 60-792 Poznań, Poland
+48 506 798 998
office@setapp.pl

COMPANY DATA

Setapp Sp. z o.o.

VAT ID: PL7781465185
REGON: 301183743
KRS: 0000334616

PRIVACY POLICY

klacz
Clutch award badge
topdizajn
svg-image
svg-image
svg-image
svg-image
Instagram Icon
svg-image
svg-image
smart-growth
european-union

©2020 Setapp. All rights reserved.