GameActivity には以下の依存関係があります。
GameActivity は CMake を使用して、ビルドプロセスの際にブリッジコード (libgame.so) を生成します。
ノート: カスタム Android SDK を提供する場合は、その SDK に CMake 3.22.1 が含まれていることを確認してください。
GameActivity では、以下の AndroidX Gradle の依存関係が必要です。
androidx.appcompat:appcompatandroidx.games:games-activityandroidx.core:coreAndroidx.constraintlayoutGradle は、AndroidX およびこれらの依存関係を自動的にインストールします。
GameActivity を使用する場合、アプリケーションプレイヤーのループは Java スレッドではなくネイティブスレッドで実行されます。これは、プラグインから myLooper などの Java API を呼び出すと失敗することを意味します。myLooper の場合は、ネイティブスレッドに Java ルーパーが存在しないためです。また、myLooper などの API を使用する API も失敗します。例えば、ハンドラーが null の場合、 registerInputDeviceListener は失敗します。Android のプラグインを作成する場合は、この制約を理解しておくことが重要です。
GameActivity を使用する場合、Unity は NDK コレオグラファーを使用してフレーム時間を同期しようとします。デバイス API レベルが 24 よりも低い場合、またはアプリケーションで 32 ビットのプレイヤーを使用し、デバイス API レベルが 29 よりも低い場合、Unity は Java コレオグラファーを使用します。