Skip to content

kevinw/GodotVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GodotVision

Godot headless on visionOS, rendered with RealityKit, so you can create shared-space visionOS experiences from Godot.

Questions? Join the GodotVision Discord

Documentation

Documentation lives at the website — https://godot.vision

Example Repo

See GodotVisionExample for a simple repository you can clone and run in Xcode.

example image

What is this?

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.

Setup

Steps to add GodotVision to an existing VisionOS XCode project:

Import Godot_Project

  1. Copy Godot_Project folder from this repo to your target repo

Add GodotVision Package dependency

  1. Open App Settings by clicking on the App in the Navigator
  2. Choose your Target from the target list
  3. General -> Frameworks -> + -> "Add Other..." -> "Add Package Dependency..."
  4. In "Search or Enter Package URL": Enter https://github.com/kevinw/GodotVision.git (Make sure to add .git)
  5. "Add Package"

Change Swift Compiler Language

  1. Stay on the Target subpanel
  2. Build Settings
  3. "All" to open edit all options
  4. Under "Swift Compiler - Language", change "Swift Compiler - Language" to "C++ / Objective-C++"

Build

  1. Product -> Build

Limitations

  • Missing:
    • Shaders
    • Particle systems
    • Many PBR material options
  • Any native GDExtensions you want to use need to be compiled for visionOS.