Skip to content

Export game as embeddable iOS view to easily use non-Godot code (Android already supported) #1473

Description

@bfelbo

Describe the project you are working on:
Multiplayer game for iOS and Android

Describe the problem or limitation you are having in your project:
Due to the social nature of our game, we need to:

Describe the feature / enhancement and how it helps to overcome the problem or limitation:
Godot added support for embedding your game inside an Android app and it would be amazing if Godot added support for iOS as well.

A few benefits:

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
Similar to godotengine/godot#39855 for Android, it would be possible to export your game as an embeddable iOS view.

A developer would create their own Android/iOS app from scratch and use the Godot embeddable view. Inside the app, the Godot view could be displayed for the actual gameplay. For instance, consider the popular mobile games Brawl Stars, Fortnite, and PUBG. The developers could code up all the UI, app permissions, ad tracking, etc. in any language and then use Godot once the user clicks "Play" and enters the actual gameplay.

One way to think of the current default Godot app exports is that they're a embeddable view + a wrapper. The view has all the core functionality and the wrapper handles things like setting the right permissions in the AndroidManifest.xml. If this was separated, it would be easy for anyone to export a complete app or to just use the embeddable view depending on their use case.

If this enhancement will not be used often, can it be worked around with a few lines of script?:
Not that I know of.

Is there a reason why this should be core and not an add-on in the asset library?:
Porting/exporting is best handled in core and this proposal would alleviate the need for many other core proposals (see linked issues above).

EDIT:
Updated to split out documentation and focus on iOS support based on @m4gr3d's suggestion.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions