-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support making hybrid apps #1
Conversation
@@ -160,9 +192,24 @@ Dictionary MetaToolkitExportPlugin::_get_export_options_overrides( | |||
overrides["xr_features/enable_meta_plugin"] = true; | |||
overrides["xr_features/enable_pico_plugin"] = false; | |||
|
|||
// Unless this is a hybrid app that launches as a panel, then we want to force this option on. | |||
// Otherwise, it needs to be off, so that the panel activity can be the one that's launched by default. | |||
overrides["package/show_in_app_library"] = (hybrid_type != HYBRID_TYPE_START_AS_PANEL); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be under a if (hybrid_type != HYBRID_TYPE_DISABLED)
check so we don't override this option when hybrid is disabled; e.g: if the user sets this to false
we would override it back to true
with the current logic if hybrid is disabled.
manifest_text += | ||
" </intent-filter>\n" | ||
" <meta-data android:name=\"com.oculus.vrshell.free_resizing_lock_aspect_ratio\" android:value=\"true\" />" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this manifest entry constrains the panel resizing so as to maintain the panel's aspect ratio; I'm fine with this being the default behavior, just to ensure this is intended behavior since it's hardcoded.
String manifest_text = | ||
" <horizonos:uses-horizonos-sdk xmlns:horizonos=\"http://schemas.horizonos/sdk\" " | ||
"horizonos:minSdkVersion=\"69\" " | ||
"horizonos:targetSdkVersion=\"69\" />\n"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can include this directly in the manifest for the meta vendor plugin once the PR is moved. In general if the manifest entry is not modifiable, then it should be included directly in the vendor specific manifest file.
As discussed, I've moved this to PR GodotVR/godot_openxr_vendors#245 against "godot_openxr_vendors", and addressed the review here as well as the other things we discussed. Closing as superseded. |
This uses Godot 4.4-dev5 and must be used with godot_openxr_vendors PR GodotVR/godot_openxr_vendors#231
You use an export setting to make a hybrid app:
You can choose Start As Immersive or Start As Panel, but when run from the Godot editor, it'll always start in immersive mode because the editor directly names the activity it launches (it's hard-coded) and the normal Godot game activity is always the immersive one (see notes below).
There is a decent GDScript API:
The demo shows a simple way to use these.