GameActivity requirements and compatibility
Understand the system requirements and feature compatibility of the GameActivity application entry point.
Read time 2 minutesLast updated a day ago
Refer to the following system requirements and compatibility information before using the GameActivity application entry point in your Unity Android project.
Unity and GameActivity library version compatibility
The following table lists the recommended GameActivity library version for the latest supported patch release of each Unity version.
Unity version | GameActivity library version |
|---|---|
| 6000.3 and later | 4.4.0 |
| 6000.0 | 4.4.2 |
Do not use the Update the GameActivity library instructions to update to a newer major version of the GameActivity library manually. Those instructions apply only to updates within the same major version of the GameActivity library. Updating across major versions requires Unity engine changes that you can't perform manually.
Dependencies
GameActivity requires the following dependencies:
- CMake build system
- AndroidX
CMake
GameActivity uses CMake to produce the bridge code () during the build process.
libgame.soAndroidX
GameActivity requires the following AndroidX Gradle dependencies:
androidx.appcompat:appcompatandroidx.games:games-activityandroidx.core:coreAndroidx.constraintlayout
Gradle installs AndroidX and these dependencies automatically.
Plug-in compatibility
If you use GameActivity, your application player loop runs on a native thread rather than a Java thread. This means that calling Java APIs like myLooper from plug-ins will fail. In the case of it's because there's no Java looper present on the native thread. This also means that any API that uses APIs such as will also fail. For example, registerInputDeviceListener will fail if the handler is null. It's important to understand this limitation when you create Android plug-ins.
myLoopermyLooperChoreographer
If you use GameActivity, Unity tries to use the NDK choreographer to synchronize frame times. If the Device API Level is lower than 24, or your application uses a 32-bit Player and the Device API Level is lower than 29, Unity uses the Java choreographer.