Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Kevin Gonzales
Kevin Gonzales
4,638 Points

Unreal Vs Unity 5 for mobile 2d games- is unreal too bulky?

I am a beginner at programming and especially game development. I finished courses for android and iOS with teamtreehouse online in order to learn how to make mobile apps. However I am wanting to make mobile games, and that means I have to pic up a game engine.

I am planning on starting with simple 2d games (like you tap and something happens) and after going trough many pages of Unity vs Unreal it seems that Unity is better for mobile 2d game development.

According to some of the pages I read- Unreal is more for 3d gaming and can be to powerful (take up memory) for simple games.

However I do feel that I would like to make 3d games at one point (possibly for pc )and unreal sounds more appealing because of that.

What do you all think?

Is unreal just to powerful to make simple 2d mobile games and I should learn to use Unity? Or is Unreal capable of being lightweight enough to be used for simple mobile 2d game development?

ps games i would consider simple (relative to other games) and that are similar to the games i would like to start making include: flappy bird, bird climb, Guess the Brand, possibly panda pop, ect. You know games where you tap and something happens.

1 Answer

Hey Kevin,

Both engines are incredibly flexible and can do both 2d and 3d just fine, so it's not really a matter of which can do what, unless you're experienced and know exactly what you want out of an engine. What is important is how accessible they are, and how easy it will be to translate your ideas into a working game. I believe this is crucial when starting out, because it can be quite disheartening having to struggle through complex documentation and forums to get your initial game to work.

Because of those things, I believe that Unity is an excellent platform to begin game development on. I came from writing C++ games using simple graphical libraries, and I found Unreal 4 to be fairly challenging to get started with. I initially avoided Unity because of its C# base language, but I made an effort to learn both at the same time. I found Unity's pipeline to be simple and easy to learn, fun even. And don't let that fool you, even now I am continually humbled by what people can do with Unity, it's a very powerful engine.

My opinion, give Unity a shot. Find some up to date Unity 5 tutorials to get started, preferably one that walks you through a project. To top it off, it's easily portable and you can throw your projects on different devices within minutes. Just be sure to write in C#, and not their proprietary unityscript, it will save you a lot of headache down the road.

Some helpful links:

Some excellent projects to get started with -

http://unity3d.com/learn/tutorials/modules

Reddit communities for both 2D and 3D unity work -

https://www.reddit.com/r/Unity2D/

https://www.reddit.com/r/Unity3D/

There's a pretty decent group of Unity devs on stackoverflow, don't be afraid to search or ask Unity based questions here -

http://stackoverflow.com/

Dive in and have fun!

Justin

Kevin Gonzales
Kevin Gonzales
4,638 Points

Thank you so much Justin! I think I will start with Unity. By the way I only know a little bit of Javascript (with some Jquery: a library of java script) So i was thinking of starting with unity script . What are the advantages to using C#? And where could I learn the language?

I was going trough a Unity tutorial using C# and it doesn't seem to different then other object oriented languages. So should I even dedicate time just to learn the language or Should I just do Unity Tutorials and learn C# from those?

There are a few advantages to using C# in Unity, and they're a little bit hard to understand until you run into them later. For example, there are some big debugging disadvantages when it comes to Unityscript, there are a lot of shortcuts put in place so that it's sometimes very difficult to see why things are doing what. With C# you can use the Visual Studio IDE, which is a pleasure to write in, and comes with many useful features to compliment Unity's library.

I will say this though, C# is definitely a heavier and more complex language than Unityscript or Javascript. Some people have a hard time starting out with C# and find it easier to start with Unityscript. I learned C# while learning Unity, but it wasn't too difficult for me because I came from C++. Javascript to C# might be a frustrating jump. So if you only know a bit of Javascript, and don't have too much experience with other languages such as C++ and Java, then I may redact my comment. Try out Unityscript, if it's easier for you to jump in with then that's all that matters, you can always switch over to C# later down the road if you choose, so it's not a big deal. By streamlining your experience you'll also learn much more.

Kevin Gonzales
Kevin Gonzales
4,638 Points

Im actually following a video tutorial on making a cross road game with unity on youtube right now. That video and many others use C# so I think i will stick with it. I do know java and swift better than java script and to be honest so far C# doesn't even feel like a new language and it is easy to follow the code in the tutorial (for the most part I do have to stop and thing every now and then).

However you said I could use Visual studio for my IDE if I use C#? I did not know that. Cool, because I am having difficulties with my mono develop IDE. For some reason it will only auto complete things like floats and variables I define, and It does recognize public classes Ive created. I think 'll try Visual Studio (even tough I've never used it) since my monodevelop is glitching and I have no idea how to fix it.

Thank you for your help!

Very nice! Sounds like you won't have a problem with C# then. Game development can be pretty tough outside of the language too, so just be sure to keep at it, you'll hit a lot of breakthroughs along the way. It's very rewarding.

Glad to have helped!