Is it easier to make both iOS and Android apps by learning C# and using Unity3d to create them or would it be better to learn their native languages? Java and Obj-C.
Also, does anyone know of any good mobile development e-books that could help a beginner? I want to make apps for both but I don’t want to learn both languages at the same time. I have seen Obj-C code and it looks rough.
The replies in a Unity forum will be biased towards Unity… So here comes my biased reply.
If you are making a 3D game I would strongly urge you to use Unity. If you are making a 2D game I would recommend considering Unity and evaluate it against other options (such as Corona).
Making a game engine is HARD. If you want to learn how for the fun of it or feel the urge to be an engine programmer, then learn programming for Android and Objective-C. If you just want to make games (more of gameplay scripting) then an engine will usually save you a lot of time.
It depends on your goals, but considering you mentioned you are a beginner, going with an engine will get playable results much faster. Where engines are concerned Unity has, by a wide margin, the best power to ease of use ratio from what I’ve seen. Take this with a grain of salt, I’m not the most experienced game developer in these forums.
I don’t have an e-book I can recommend, but Unity has some good video tutorials and sample projects to get you pointed in the right direction. I also tend to learn better by doing so I generally don’t read Unity books even if I happen to buy them.
Totally depends on what you are trying to do.
If you want to make a game that fits easily into Unity’s way of doing things, involving interactive 3D models, and you need both platforms, Unity is way easier.
If you are learning everything from scratch anyway and only want iOS and want a 2D sprite game with physics, SpriteKit is built into iOS and is quite good.
But you’d have to start over and find an entirely different solution for Android.
Since Java and Obj-C are completely different languages, you would have to write any app twice if done natively.
But aside from being cross platform, Unity might not help you much for some kinds of non-game apps, especially if you want to access any unique features particular to each platform.
Even this type of game will be much harder than you think. Games are complex software projects. Keeping it simple, especially at the beginning, is essential so you have the right idea.