Using Android Game Development Extension for Visual Studio

Kayvan Kaseb
Software Development
7 min readSep 21, 2021
The picture is provided by Unsplash

Basically, the growth of Android game development industry is playing an imperative aspect in market place. Therefore, Android Game Development Kit (AGDK) has been introduced by Google to help you enhance both your game developer experience and development workflow. Additionally, the Android Game Development Extension (AGDE), as a core component of the integrated workflows of the AGDK, allows you develop multiplatform games in C or C++ on Windows using Visual Studio, and deploy them to Android as well. This essay aims to introduce and discuss AGDE as a significant extension for developing high quality games.

Introduction and Overview

Recently, Android Game Development Kit has been introduced by Google to help you improve both your game developer experience and development workflow. In fact, the Android Game Development Kit (AGDK) is a wide range of tools that aims to make it easier to develop, optimize, and deliver high quality Android games. In addition, After passing more than a year in closed beta, Google has announced that Android Game Development Extension (AGDE) is now available for all game developers to download. The Android Game Development Extension is a core component of the integrated workflows of the Android Game Development Kit. As a matter of fact, the Android Game Development Extension is a Visual Studio extension, which allows developers to build directly for Android from within Visual Studio. In other words, AGDE is part of the Android Game Development Kit, which contains both libraries and tools that provide making considerable games on Android. AGDE is a proper way for game developers that develop primarily on Microsoft Windows using Visual Studio to write C or C++ code. Also, game developers that cannot meet these requirements, but are using C or C++, should use Android Studio to develop for Android. Google has mentioned their beta users, who have been using AGDE for a while, point out they are really interested in how AGDE provided them an appropriate way to streamline their building and debugging workflows, ultimately saving them time and money on game development effectively.

The main benefits of using AGDE for game development

There are some main advantages can be mentioned in using AGDE as follows:

  1. There is no need for additional IDE setup when using Visual Studio to develop games for Android

In reality, a number of game developers have been pointed out that it is a problematic issue to maintain projects for various platforms. So, it is preferable to stay working in a single IDE. Additionally, for many of those developers Visual Studio is that main IDE. For solving this problem, AGDE enables this by removing the need to switch between IDEs when switching between platforms. At the moment, developers for Android no longer require maintaining both Android Studio and Visual Studio projects.

2. Setting up-to-date tools and SDK to make Android game development efficient in Visual studio

Initially, the older tools in Visual Studio is often difficult to use because they are not up-to-date or suffer from integration issues. Google has provided to have AGDE support for the latest versions of the Android SDK and NDK, as well as providing updated tools that are easily accessible from within Visual Studio.

3. Enhanced debugging stability and debugging tools performance

Basically, existing solutions to debug Android games from within Visual Studio are slow and outdated. Therefore, AGDE supports the latest LLDB integrations directly in Visual Studio. This provides a smoother debugging experience for developers.

LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. LLDB is the default debugger in Xcode on macOS and supports debugging C, Objective-C and C++ on the desktop and iOS devices and simulator. All of the code in the LLDB project is available under the “Apache 2.0 License with LLVM exceptions”.

4. Having quick launch of Android tools, such as Android Studio Profilers and Logcat

Eventually, Google has intended to bring a quick access to some of the most helpful tools available in Visual Studio. Thus, they have invested in creating seamless integrations to their most well-known tools, such as Profilers, Logcat, Android SDK, and Device Manager.

The main advanced features of Android Game Development Extension

In fact, these advanced features are designed to make developers more productive in their day-to-day game development workflow. There are some important features can be mentioned as follows:

  1. Easy setup: setup AGDE workflow for Visual Studio

After downloading and installing the Android Game Development Extension from the Android Game Development Kit landing page, currently, in your Visual Studio project, you can be able to add an Android APK template to your project. This template enables building and packaging an Android APK. B y using this, you can treat Android development as other platforms using Visual Studio. Besides, toolbar can provide a quick access to other sections, such as Android SDK/NDK Manager, Android Virtual Device Manager, Device File Manager, Logcat, and Profilers.

After completing the setup process, one of the most significant issues that we require to configure is the Android SDK and NDK. This can be accomplished by opening the Android SDK Manager. The SDK Manager allows for downloading additional tools and frameworks to assist with building Android games. Moreover, the Android Virtual Manager allows for handling emulators. Any emulator that is created here will be displayed when the corresponding platform is selected. Therefore, the Android Virtual Device Manager allows for creating, editing, and deleting different virtual devices. Plus, the Android Virtual Device (AVD) allows you to launch directly into your emulator snapshots. This allows you to have a repeatable test environment. Finally, the Device File Manager is a useful utility to help clean files or copy performance logs of the device.

2. Easy build, debug, and deploy

After setting up the project to build for Android, we can be able to build, debug, and deploy easily the game from Visual Studio efficiently. For instance, we can observe how to use the Android Game Development Extension, and set a break point to consider the disassembly of our OpenGL project.

This example is provided by Google Documents

The assembly view represents the assembly inline with the current C++. This allows you to consider instructions as they are executed. By applying assembly, it can be useful to identify the current register values. This can be performed by opening the registers window from within Visual Studio. This is useful for building context and understanding what is running on our device. Another useful tool for debugging is the memory view. This view allows you to consider the current values within a block of memory. When you are planning to run your game, Visual Studio automatically highlights the area of memory that had been changed.

Finally, if a game become more complex in features and design, parallel stacks can be an essential feature for us. This feature allows developers to observe what threads are running concurrently. In addition, this feature makes it easy to identify which threads are blocked and which threads are executing various tasks.

3. Accessing to the Logcat

As we know, when debugging is not enough to detect a problem, we can be able to access to the logs for solving these problematic situations. The Logcat tool provides us an environment for searching and filtering logs to track down precisely the data you desire.

4. Accessing to the Android Profiler

Ultimately, the Android Game Development Extension provides a quick access to the Profilers, where you have updated the UI to be much more intuitive, and assist you by giving notable details of your trace. In addition to the new UI, Google has added support for native memory sampling. As a result, you can understand your memory allocation more effectively and optimize your game on different devices properly.

Integrating AGDE with various tools

It is obvious that everyone has a unique build setup and there is no one-size-fits-all solution. That is why Google is investing in integration with various tools commonly used in the industry to help game developers be as efficient as possible. The Android Game Development Extension team has announced that they have a close cooperation with Epic to integrate with Unreal Engine. This integration allows seamless experience for developers using Unreal Engine to develop for Android.

AGDE has definitely saved us time, and helped us find bugs that otherwise could not have been found. We plan to recommend AGDE as the supported Unreal Engine Android developer workflow for all Unreal Engine licenses.

Jack Porter, Unreal Engine Mobile Team Lead

They consider their use of AGDE could be a noticeable success because Fortnite and Unreal Engine mobile engineers are using AGDE daily for their work. Furthermore, AGDE has allowed Epic to more quickly and conveniently debug issues and stay inside of Visual Studio. This has made a significant enhancement from their previous workflows. Epic also has noted that the use of AGDE has saved a significant time and helped them identify bugs that they otherwise could not have found.

In conclusion

Nowadays, Android Game Development Kit (AGDK) has been introduced by Google to help you improve both your game developer experience and development workflow. Furthermore, the Android Game Development Extension (AGDE), as a core component of the integrated workflows of the AGDK, allows you develop multiplatform games in C or C++ using Visual Studio, and deploy them to Android as well. This article introduced and considered AGDE as a noticeable extension for developing high quality games based on Google resources.

--

--

Kayvan Kaseb
Software Development

Senior Android Developer, Technical Writer, Researcher, Artist, Founder of PURE SOFTWARE YAZILIM LİMİTED ŞİRKETİ https://www.linkedin.com/in/kayvan-kaseb