What engine should I use to make my iOS game?

February 11th, 2019

Filed under: Game Development

If you go to Reddit’s game development group, you will see lots of questions from people asking what engine they should use to make their game. Since Check Sim Games is about iOS game development, I figured I should answer this question for people who want to make iOS games.

There are two engines for making iOS games that stand above the rest: Unity and SpriteKit.

Unity

Unity is a very popular engine for making 2D and 3D games. Unity has a lot going for it. It’s free until you start making $100,000(US) a year with your games. Lots of people use Unity so there are numerous books, articles, and videos to help you learn how to use Unity. Unity also has a large asset store of tools, libraries, and artwork you can buy to speed up the development of your game.

Reasons to use Unity

  • You want your game to run on Android and other non-Apple platforms.
  • You want to make a 3D game. SpriteKit is for 2D games only.
  • You want to develop your game on a Windows computer.

The last reason deserves more explanation. You need access to a Mac to install your game on an iOS device and to upload your game to the App Store. But with Unity you can develop an iOS game on a Windows computer. Unity has a Unity Remote iOS app you can install from the App Store. With Unity Remote you can play a scene from your game on an iOS device without having to install the whole game on the device.

SpriteKit

SpriteKit is Apple’s framework for making 2D games. SpriteKit is not a standalone app. Use Xcode to make your game with SpriteKit.

In Xcode choose File > New > Project to create a new project for your game. Click either the iOS or Cross-platform button at the top of the New Project Assistant. Select the Game project template.

NewProjectiOSGame

Reasons to use SpriteKit

  • You don’t care about Android. SpriteKit games run only on iOS and other Apple platforms.
  • You want to program your game in Swift. Unity uses C# as its programming language.
Facebooktwittergoogle_plusredditmail