Skip to content

Merge RealityKit & visionOS support#37

Merged
tattn merged 9 commits intomainfrom
feature/realitykit
Jan 23, 2026
Merged

Merge RealityKit & visionOS support#37
tattn merged 9 commits intomainfrom
feature/realitykit

Conversation

@tattn
Copy link
Copy Markdown
Owner

@tattn tattn commented Jan 23, 2026

This pull request updates the Xcode project to add a new visionOS target called VisionExample, along with its associated files and configuration. It also updates the main storyboard to set up a tab bar interface, including a tab for the existing SceneKit view controller. The changes improve project organization and expand platform support.

New visionOS target and related project configuration:

  • Added a new target, VisionExample, to the Xcode project with its own group, build phases, and build configurations for Debug and Release. This includes new files: VisionExampleApp.swift, ContentView.swift, and an Info.plist. [1] [2] [3]
  • Configured the new target to use the VRMRealityKit Swift package, set deployment target to visionOS 1.0, and updated supported platforms and device families. [1] [2] [3]
  • Updated the project to reference the local Swift package for all VRM-related dependencies, including the new VRMRealityKit product. [1] [2]

Project structure and build settings:

  • Added new file references and groups for the visionOS app, and updated the products and targets lists to include VisionExample. [1] [2] [3]
  • Updated build settings for code signing, deployment targets, and development teams for all targets, including minor version bumps and platform-specific settings. [1] [2] [3] [4] [[5]](diffhunk://#diff-263ae4867493481361ab0371a5a
    This pull request introduces significant enhancements to the example Xcode project, most notably by adding support for visionOS and improving the CI workflow. The changes include the addition of a new "VisionExample" target and associated files, updates to the project structure and build configurations, and improvements to the CI to test across multiple Apple platforms.

visionOS Support and Example Expansion:

  • Added a new VisionExample target to the Xcode project, including new source files (VisionExampleApp.swift, ContentView.swift), its own Info.plist, and a dedicated product bundle identifier. This target is configured to use the VRMRealityKit package and is set up for visionOS deployment. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

  • Updated the project structure to include the new VisionExample group and linked resources, and added the necessary build phases and configurations for the new target. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

  • Integrated the new VRMRealityKit Swift package product as a dependency for both the existing and new targets, ensuring compatibility across iOS, watchOS, and visionOS. [1] [2] [3] [4] [5] [6]

CI Workflow Improvements:

  • Enhanced the GitHub Actions CI workflow to test the package across multiple platforms (iOS, watchOS, xrOS/visionOS) using a matrix strategy, and updated the runner to macos-26 for broader compatibility. The workflow now uses xcbeautify for improved log output and invokes platform-specific test commands.

Other Project Updates:

  • Increased the Xcode project objectVersion to 60 for compatibility with newer Xcode versions.
  • Set explicit deployment targets for iOS (15.6), watchOS (8.7), and visionOS (1.0) in the build configurations. [1] [2] [3] [4] [5]
  • Modified the storyboard to set the initial view controller to a tab bar controller and updated the naming for clarity. [1] [2]
  • Cleaned up file headers in AppDelegate.swift.cfff8f319c1b88c851d55854d1ac630697cebR487-R489) [6]

Storyboard and UI changes:

  • Changed the initial view controller in Main.storyboard to a tab bar controller, and added a tab bar item for the SceneKit view controller, improving the app's navigation structure. [1] [2]

Big Thanks: @tatsuya-ogawa #36

related: #28 #34 #35
This pull request introduces significant updates to the example Xcode project, primarily adding support for visionOS (xrOS) and improving CI test coverage for multiple Apple platforms. The most important changes include the creation of a new visionOS example target and app, integration of the VRMRealityKit package, and enhancements to the CI workflow to test across iOS, watchOS, and xrOS.

visionOS (xrOS) Support:

  • Added a new VisionExample target and app to the Xcode project, including new source files (VisionExampleApp.swift, ContentView.swift), resources, and an Info.plist configured for visionOS deployment. This enables building and running the example on Apple Vision Pro and xrOS Simulator. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

  • Updated build configurations and deployment targets to support visionOS, including setting SDKROOT = xros, SUPPORTED_PLATFORMS = "xros xrsimulator", and adding XROS_DEPLOYMENT_TARGET. [1] [2]

Dependency and Framework Integration:

  • Integrated the new VRMRealityKit Swift package into both the main and visionOS example targets, allowing use of RealityKit-based features in the new app. [1] [2] [3] [4] [5]

CI Workflow Improvements:

  • Enhanced the GitHub Actions workflow to test the package on iOS, watchOS, and xrOS platforms using a matrix strategy, and updated the macOS runner to version 26 for broader compatibility. The test command now uses xcbeautify for improved output formatting.

Project Structure and Modernization:

  • Increased the Xcode project objectVersion to 60 and added new source/resource file references for the visionOS app. [1] [2] [3]

Minor Updates:

  • Changed the initial view controller in the storyboard to RKM-Tab-001 and updated the tab bar item for clarity. [1] [2]
  • Removed the file header comment in AppDelegate.swift for brevity.

* Add RealityKit Support

* fix typo

* replace NSError with VRMError

* refine error message

* remove unnecessary #available(iOS 18.0, *)

* fix warning for enableNormalTangentBlendShape

* Remove compactVertices function and rename compactVerticesDisabled to a more appropriate name

* rename source signatures

* support visionos

* add visionOS to Makefile

* Make test destinations select latest simulator runtime
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @tattn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces support for visionOS by adding a new target and integrating RealityKit for VRM model rendering. It also restructures the project to accommodate the new platform and improves UI navigation with a tab bar interface, enhancing the app's organization and expanding its platform reach.

Highlights

  • visionOS Support: Adds a new visionOS target, VisionExample, to the Xcode project, including new files, build phases, and configurations.
  • Project Restructuring: Updates the project structure to include the new visionOS app, modifying file references, groups, products, and targets.
  • UI Navigation: Changes the main storyboard to use a tab bar controller, adding a tab for the existing SceneKit view controller and a new RealityKit view controller.
  • VRMRealityKit Integration: Configures the project to use the VRMRealityKit Swift package for visionOS, enabling VRM model rendering in RealityKit.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces significant changes by adding RealityKit and visionOS support, expanding the project's platform compatibility. The changes involve updating the Xcode project configuration, modifying the main storyboard for a tab bar interface, and adding a new VisionExample target with SwiftUI views for visionOS. A new VRMRealityKit library is also introduced, providing a comprehensive set of tools for loading and rendering VRM models in RealityKit. Overall, the changes are well-structured and demonstrate a clear effort to integrate new Apple technologies. The addition of the VRMRealityKit library is a substantial and valuable contribution, providing detailed implementations for handling VRM model components like blend shapes, humanoids, and spring bones within the RealityKit framework. There are a few areas for improvement regarding consistency and potential edge cases in the newly added RealityKit code.

Comment thread Example/Example.xcodeproj/project.pbxproj Outdated
Comment thread Example/Example.xcodeproj/project.pbxproj Outdated
Comment thread Sources/VRMRealityKit/VRMRealityKitSceneLoader.swift Outdated
Comment thread Sources/VRMRealityKit/VRMEntityLoader.swift
Comment thread Sources/VRMRealityKit/CustomType/VRMEntitySpringBone.swift
Comment thread Sources/VRMRealityKit/VRMEntityLoader.swift
Comment thread Sources/VRMRealityKit/VRMEntityLoader.swift
Comment thread Sources/VRMRealityKit/VRMEntityLoader.swift
Comment thread Sources/VRMRealityKit/VRMEntityLoader.swift
Comment thread Example/Example.xcodeproj/project.pbxproj Outdated
tattn added 5 commits January 23, 2026 21:38
- Removed boilerplate comments from various Swift files in VRMKit, VRMRealityKit, and VRMSceneKit.
- Cleaned up imports and ensured consistent formatting.
- Updated file headers to improve readability and maintainability.
@tattn
Copy link
Copy Markdown
Owner Author

tattn commented Jan 23, 2026

@codex please review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0231ae7a9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Example/VisionExample/ContentView.swift
Comment thread Sources/VRMRealityKit/CustomType/VRMEntity.swift Outdated
@tattn tattn marked this pull request as ready for review January 23, 2026 15:08
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c9c4c97c9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Example/VisionExample/ContentView.swift
@tattn tattn force-pushed the feature/realitykit branch from 9bf16ab to 22d1b62 Compare January 23, 2026 15:33
@tattn tattn merged commit 8afb5f9 into main Jan 23, 2026
3 checks passed
@tattn tattn deleted the feature/realitykit branch January 23, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants