Skip to content

Add visionOS platform support - #2085

Merged
dsnopek merged 1 commit into
godotengine:masterfrom
CCranney:visionos-platform
Nov 9, 2026
Merged

dsnopek merged 1 commit into
godotengine:masterfrom
CCranney:visionos-platform

Conversation

@CCranney

@CCranney CCranney commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Adds visionOS as a build platform, so GDExtensions can target Apple Vision Pro. Godot has exported to visionOS since 4.5, and 4.8 adds immersive rendering through the visionOS XR module, but godot-cpp can't build for it yet: scons platform=visionos is rejected.

NOTE: It may be helpful to create a shared helper for iOS and visionOS, since they are quite similar. However, I thought that might be best done in a later PR to isolate iOS changes.

Testing

  • Built with scons platform=visionos target=template_debug and target=template_release on macOS v27.2.
  • Built and ran godot-cpp's test project on Apple Vision Pro (Godot 4.8.beta1, windowed). The extension and godot-cpp were packaged as .xcframeworks, as on iOS. 137 of 138 checks pass. The only failure is FileAccess.file_exists(library_path) (main.gd, line 301). I believe that would be expected of iOS as well.
  • I was able to get Terrain3D running on a visionOS window app usingn these edits. My visionOS immersion app test had problems, specifically exposing an error in the Godot engine (see visionOS: Immersive rendering freezes when a material reads the depth or screen texture godot#125166), so am addressing that there.

@CCranney
CCranney requested a review from a team as a code owner November 5, 2026 02:04
@oPinon

oPinon commented Nov 8, 2026

Copy link
Copy Markdown

This change looks good to me.

It is in line with what we did for the GDExtensions GodotRealityKit and GodotPhase; but having it directly in Godot-cpp sounds better, indeed.

@dsnopek dsnopek left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This looks like a straight adaption of the existing scons support for iOS, which I think is a great way to start this

For the future, I think we should consider merging the IOS_* and VISIONOS_* options as APPLE_* like in Godot (but we'll need to decide on if/how we want to handle backcompat). And it would be good to add cmake support for visionos, but that can be in a follow-up PR

@CCranney

CCranney commented Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

I fixed the missing trailing newline that was flagged by the check, no other changes

@dsnopek dsnopek added the enhancement This is an enhancement on the current functionality label Nov 9, 2026
@dsnopek dsnopek added this to the 10.x milestone Nov 9, 2026
@dsnopek dsnopek added the topic:buildsystem Related to the buildsystem or CI setup label Nov 9, 2026
@dsnopek
dsnopek merged commit ed79ed4 into godotengine:master Nov 9, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement This is an enhancement on the current functionality topic:buildsystem Related to the buildsystem or CI setup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants