Typically, you start developing your game in a game engine, such as Unity, Unreal, Defold, or Godot. That's likely to be where you do your visual design, as well. Then you work in Android tools to develop, optimize, and distribute your game.

## Develop

To develop Android games, you use the[Android Game Development Kit (AGDK)](https://developer.android.com/games/agdk)in combination with your game engine. The AGDK comprises core Android game development tools and libraries. It includes C/C++ game integration, performance tuning, high-performance audio, and features for using or customizing game engines.

Some game engines have integrated AGDK components, so you can build Android games without modifying the game engine. You can also use AGDK to develop or customize a game engine yourself.

You can use the[Android Game Development Extension (AGDE)](https://developer.android.com/games/agde), a Visual Studio extension you can use to develop games in Visual Studio that include Android as a target platform.

You can use[Google Play Games services](https://developer.android.com/games/pgs/overview)to add social features to your game, view gameplay stats, and provide cross-platform gameplay across multiple devices. You can set up and manage Play Games Services in the Google Play Console, and then add features using the Play Games Services APIs for Android, C, and Unity.

You can use[Google Play Games for PC](https://developer.android.com/games/playgames/overview), a platform that brings your Android game to PCs using high-performance emulation with Android and ChromeOS cross-device play from a single codebase.

You can use the[Android NDK](https://developer.android.com/ndk)to develop an Android app in native code using C or C++. It can increase the performance of your game by providing it with more direct access to device hardware. It also lets you reuse C and C++ libraries, and share game code across multiple platforms. For certain types of apps, this can help you reuse code libraries written in those languages.

[Go to Develop](https://developer.android.com/games/develop/overview)

## Optimize

You can optimize your games for the characteristics you want, such as battery life or improved performance. Optimization tools include the following:

- [Android GPU Inspector (AGI)](https://developer.android.com/agi), an advanced graphics and system profiling tool that provides tracing and analysis of individual frames.

- [Android Performance Tuner (APT)](https://developer.android.com/games/sdk/performance-tuner), a tool you can use to measure and optimize frame rates, graphical fidelity, loading time and loading abandonment across many Android devices at scale.

- [Android Dynamic Performance Framework (ADPF)](https://developer.android.com/games/optimize/adpf), a set of APIs you can use to optimize game performance at a sustainable level that doesn't overheat devices.

[Go to Optimize](https://developer.android.com/games/optimize/overview)

## Publish

You use[Google Play](https://developer.android.com/games/distribute)to add services to and distribute Android games.

With[Play as you Download](https://developer.android.com/games/distribute/play-as-you-download), you can allow your players to get into gameplay quickly after a small download while remaining game assets are fetched in the background.

[Go to Publish](https://developer.android.com/games/distribute/overview)