The project is setup in Android Studio with three buildtypes:
- `release` for release builds of the engine
- `debug` for debug builds of the engine with `dev_mode`, `dev_build`, and `debug_symbols` disabled
- `dev` for debug builds of the engine with `dev_mode`, `dev_build`, and `debug_symbols` enabled
This commit deprecates and removes the `dev` buildtype and instead enables `dev_mode`, `dev_build`, and `debug_symbols` for the `debug` buildtype when building with Android Studio.
The `release` buildtype has also been updated such that a `release` build built with Android Studio and signed with non-production keys can be installed side-by-side with a production-signed release (e.g: from the store).
- Fix issue on foldable where the embedded window would obscure the main window when launching
- Fix edge-to-edge support for non-immersive apps / games
- Add edge-to-edge export option to allow non-immersive apps / games to extend edge to edge
- Provide a `GodotService` Android service implementation which can be used to host an instance of the Godot engine
- Provide a `RemoteGodotFragment` Android fragment implementation which provides the view and logic to wrap connection to a `GodotService` instance
Godot OpenXR Vendor plugin version 4.0.0-stable changed the plugin's manifest declaration, so this updates the logic to remove that manifest declaration to match.
The app was restarting unexpectedly due to missing configChanges flags.
Added "locale|layoutDirection" to AndroidManifest.xml to prevent activity recreation.
- Enable events KEY_VOLUMEUP and KEY_VOLUMEDOWN on Android.
- Adds a project setting to override volume buttons. It would disable system volume changes when the buttons are used within the project.
Enables OS.create_instance(args) and OS.set_restart_on_exit(true, args)
on android.
Borrowed the logic from the editor, so it completely restarts the
process so you can pass --rendering-method, --rendering-driver to switch
between forward_plus, mobile, gl_compatibility etc on an exported app.
Related:
https://github.com/godotengine/godot-proposals/issues/6423
Supported features in the immersive preview mode
- Passthrough
- Hand tracking
Notes:
- Multi-window is only available for internal apps on PICO OS, therefore launching adjacent windows is not possible currently.
- Passthrough splash screen is not supported on PICO OS
- Only request the permission the first time the editor tries to open an apk
- Disable the permission for the HorizonOS build as the HorizonOS store doesn't support it yet
A few permissions including the `USE_SCENE` permission are being renamed with the launch of the Meta Spatial SDK, so we update the excluded list to avoid requesting them on app start.