Godot headless on visionOS, rendered with RealityKit, so you can create shared-space visionOS experiences from Godot.
Questions? Join the GodotVision Discord
Documentation lives at the website — https://godot.vision
See GodotVisionExample for a simple repository you can clone and run in Xcode.
SwiftGodotKit's Godot-as-a-library, compiled for visionOS. Godot (slightly modified) thinks it is a headless iOS template release build, and we add an extra ability--to tick the Godot loop from the "outside" host process. Then we intersperse the RealityKit main loop and the Godot main loop, and watch the Godot SceneTree for Node3Ds, and mirror meshes, textures, and sounds to the RealityKit world.
Check out the amazing SwiftGodot documentation for how to hack on SwiftGodot/this project.
Steps to add GodotVision to an existing VisionOS XCode project:
- Copy Godot_Project folder from this repo to your target repo
- Open App Settings by clicking on the App in the Navigator
- Choose your Target from the target list
- General -> Frameworks ->
+
-> "Add Other..." -> "Add Package Dependency..." - In "Search or Enter Package URL": Enter
https://github.com/kevinw/GodotVision.git
(Make sure to add.git
) - "Add Package"
- Stay on the Target subpanel
- Build Settings
- "All" to open edit all options
- Under "Swift Compiler - Language", change "Swift Compiler - Language" to "C++ / Objective-C++"
- Product -> Build
- Missing:
- Shaders
- Particle systems
- Many PBR material options
- Any native GDExtensions you want to use need to be compiled for visionOS.