Unity · Last updated May 13, 2026

Fix “Not compatible with 16 KB page size devices” in Unity

Unity teams have an extra wrinkle compared to a standard Android Gradle project: most of the native code in the APK isn’t yours, it’s generated by IL2CPP and shipped as part of the Unity engine. That means whether your build is 16 KB-ready is largely a function of the Unity editor version you use—plus any Asset Store plugin that wraps a native library.

1. Use a Unity version that targets 16 KB

Unity backported 16 KB page-size support into three LTS lines. Anything older needs to be upgraded before Play Console will accept the release:

Unity lineMinimum 16 KB-ready version
2022 LTS2022.3.49f1 or newer
2023 LTS2023.2.20f1 or newer
Unity 6.06.0.10f1 or newer

Older lines (Unity 2021 LTS and earlier) are out of support for 16 KB; you must upgrade your project.

2. Player Settings checklist

  • Scripting Backend: IL2CPP. Mono is not supported with 64-bit, so this is required.
  • Target Architectures: enable ARM64. You can also keep ARMv7 for legacy devices—it’s exempt from the 16 KB rule.
  • Target API Level: 35 (Android 15).
  • Custom Main Gradle Template: enable it if you need to pin the NDK version (rarely needed in 6.0).
  • Build App Bundle (Google Play): on, so you ship an AAB rather than a fat APK.

3. Audit Asset Store plugins

Even with a 16 KB-ready Unity, Asset Store packages can drag in old .sofiles that fail the check. The biggest categories to watch:

  • Ad networks (AppLovin MAX, ironSource, Google Mobile Ads).
  • Analytics (Firebase, Singular, Adjust, AppsFlyer).
  • Audio middleware (FMOD, Wwise).
  • Video / streaming plugins.
  • Custom networking libraries built on Native Sockets.

Drop your AAB into 16kb Checker. The native libraries panel will show the failing path—Unity plugin paths usually look like lib/arm64-v8a/lib<plugin>.so or are nested under assets/bin/Data/Native/. Match the path to the package in your project and pull the maintainer’s 16 KB release.

4. Build & verify

# CLI build (CI-friendly)
$ /Applications/Unity/Hub/Editor/6000.0.10f1/Unity.app/Contents/MacOS/Unity \
    -batchmode -quit -projectPath . \
    -buildTarget Android \
    -executeMethod BuildScript.BuildAAB

Scan the produced .aab in 16kb Checker. Expect to see clean passes for libunity.so, libil2cpp.so, and libmain.so. Any failures are almost always third-party plugins and need a maintainer update.


Verify your Unity build before submitting to Play Console:

Scan your AAB

Free · No upload · Browser-only