Skip to main content

Building a Mobile Game

If you do not have a Godot game yet, this page will help you get started.

What you will need​

  • Godot - we recommend the latest stable release

ShipThis builds with every stable Godot release since 3.6, so you are free to use an older version if your project needs one. If you are starting today, take the newest - you get the longest run before you have to think about upgrading.

See Godot versioning for the full list, and for how ShipThis picks the version it builds with.

note

A desktop or laptop is the easiest way to work with Godot and ShipThis.

If an Android device is all you have, see building for iOS from an Android device - it covers installing Termux, Node.js, ShipThis and the Godot Android editor, and shipping your game to TestFlight.

Start from a mobile template​

The quickest way to get something running on a phone is to start from a project that is already set up for one.

Pocket Godot by Lucky is a starting point for mobile games. It gives you a joystick and touchpad controller system, first-person, third-person and top-down demos, and a pre-built APK so you can try it on an Android device before you change anything. It was built with Godot 4.3, so it opens in 4.3 or anything newer.

New to Godot?​

You do not have to work through a course before you start. The template above already runs, so you can open it and start changing things.

If you would rather pick up the basics first, these are both good:

Neither is mobile-specific, so come back to the next section once your game runs.

Set your project up for mobile​

Some project settings work differently on a phone. Get these right before you build much of your game - changing them later usually means redoing work:

  • Screen orientation, stretch mode and aspect - together these decide how your game fills phone screens of different shapes, and getting them wrong is the most common reason a game that looked fine on your monitor looks wrong on a device. Pick portrait or landscape and set it, rather than letting it change under the player. See Multiple resolutions, which has a worked example for a portrait mobile game.
  • Touch input - phones send touch and drag events, not mouse clicks. Godot can emulate a mouse from taps, which is enough to get going and not enough for anything multi-touch. See InputEvent.
  • Renderer - Forward+ and Mobile need newer hardware than Compatibility, so this decides the oldest iPhone your game can install on. See Overview of renderers.

See it on your phone​

Nothing tells you how a mobile game really feels like holding it. Get a build onto a device early, and keep doing it.

You do not need a Google Play or Apple Developer account for this. Once your game is set up with ShipThis, a build signed with demo credentials gives you an APK you can install yourself:

shipthis game ship --platform android --useDemoCredentials --downloadAPK game.apk --follow

Then install it over USB with adb. You will need USB debugging turned on in your device's developer options:

adb install -r game.apk

The -r replaces an earlier install, so you can run these two commands again each time you want to try a change on the device.

FAQ​

Can I write my game in C#?

Yes, for both iOS and Android, on Godot 3.6 or Godot 4.3 and later.

Godot 3.6 uses Mono and Godot 4 uses .NET. For Godot 4, develop with the .NET version of the Godot editor. You do not need the Android or iOS toolchains on your own machine - ShipThis provides the build environment.

Will I be able to add ads or in-app purchases later?

Yes. Godot handles these with plugins, and we test the popular mobile plugins across the Godot versions we support, on both platforms.

One thing to know before you settle on a plugin: an iOS plugin is compiled against a specific version of the engine, so check it publishes an iOS release for the Godot version you are using. Android plugins do not have this problem.

Do I need a Mac, or a computer at all?

You do not need a Mac. Your game is compiled on the ShipThis cloud build servers, so Xcode and the Android SDK are not needed on your own machine.

A desktop or laptop is the easiest way to work, but it is not the only way - see building for iOS from an Android device.

Next steps​

Once your game runs in Godot, see the Quick Start guide to publish it with ShipThis.