Posts under Spatial Computing topic

Post

Replies

Boosts

Views

Activity

Bake texture option in reality composer?
Hello guys, Reality composer pro really packed with a lot of math tools. i can easily create modular textures just as good as substance painter's smart materials and then reuse them across my games with minor node seed changes. The problem is, they will calculate in real time. Considering every game needs baked textures, Is there any future plans to develop a baking system inside reality composer pro ?
2
0
286
3w
VisionOS RCP The model fades in and incorrectly displays the model outline on the UI
There is a UI panel with Attachment added in my scene. There are other models in the scene, and when the model fades in using OpacityComponent, the UI panel incorrectly displays the outline of the model, as shown in the red box in the picture. The model fade in code is like this: public func FadeInEntity( entity:Entity, duration: TimeInterval = 1.0, completion: (() -> Void)? = nil ) { entity.stopAllAnimations() if entity.components[OpacityComponent.self] == nil { entity.components.set(OpacityComponent(opacity: 0)) } else{ entity.components[OpacityComponent.self]?.opacity = 0 } EnableEntity(entity: entity) let action = FromToByAction<Float>( from: 0, to: 1, timing: .easeInOut ) do { let anim = try AnimationResource.makeActionAnimation( for: action, duration: duration, bindTarget: .opacity ) entity.playAnimation(anim) DispatchQueue.main.asyncAfter(deadline: .now() + duration) { completion?() } } catch { completion?() } }
1
0
169
3w
Is GaussianSplatComponent different than other Components?
I have been analyzing Apple's Gaussian-Splats-on-visionOS demo project, and it appears that the GaussianSplatComponent is treated differently than other Components. In the function makeSplatEntity(), a GaussianSplatComponent is created and added to an Entity's components: let comp = try assembleSplatComponent(from: buffers, isLinear: isLinear) let entity = Entity() entity.components.set(comp) But when I check the entity's components collection before and after the add/set, nothing has changed. The entity still has the same children. Is the GaussianSplatComponent stored in a different location in the Entity? If so, is it a public property I can inspect? (Or is my interpretation of the components system wrong?) Here are the results of print statements before and after the set() BEFORE ADDING COMPONENT Entity number of components: 2 Component: Transform(scale: SIMD3<Float>(1.0, 1.0, 1.0), rotation: simd_quatf(real: 1.0, imag: SIMD3<Float>(0.0, 0.0, 0.0)), translation: SIMD3<Float>(0.0, 0.0, 0.0)) Component: RealityKit.SynchronizationComponent AFTER ADDING COMPONENT Entity number of components: 2 Component: Transform(scale: SIMD3<Float>(1.0, 1.0, 1.0), rotation: simd_quatf(real: 1.0, imag: SIMD3<Float>(0.0, 0.0, 0.0)), translation: SIMD3<Float>(0.0, 0.0, 0.0)) Component: RealityKit.SynchronizationComponent
1
0
332
4w
Viewing Gaussian splats while inside the model
I am trying to view immersive environments that are Gaussian Splats created by marble [dot] worldlabs [dot] ai. For example, here is one named "Steampunk City Night View": (Note: the low-res version is 500,000 splats, so I am just testing the first 200,000 splats). But when I try to view it at scale, nothing appears. I tried shrinking it down (scale factor of 0.00595458) and positioning it in front of me, and I could see the content, so the parsing of the PLY file is working. Example: But when I move into the model, it goes clear, also hiding virtual content behind it that is also in the splats' space (like the Mac virtual screen). Example: It is as if when I move inside the Gaussian Splats' bounding box, it sets an opacity material on the splats. This prevents me from using these Gaussian Splats as immersive environments. Is there any way to disable this behavior?
1
0
326
4w
Vision Pro operating limits and battery in 45°C heat
Hello everyone, ​I’m an R&D software engineer researching the Vision Pro for on-site CAD visualization and quality assurance. This requires using the headset outside in the open air in KSA, where ambient daytime temperatures easily hit 45°C (113°F). ​Before I try deploying this for field work, I have a few specific questions: ​Operating Limits: Will the headset function in 45°C ambient heat, or will it immediately trigger a thermal shutdown? ​Throttling: How aggressively does visionOS throttle performance or dim the displays when running demanding spatial apps in this heat? ​Battery: Will the external battery stop supplying power or refuse to charge under these conditions? ​Workarounds: Are there any known best practices or shading accessories for using the Vision Pro outdoors in extreme climates? ​I know the official operating limit is 30°C, so I'm looking for real-world insights from anyone who has pushed these environmental limits. ​Thank you!
1
0
367
Jul ’26
Production LiDAR capture app affected by ARKit world-tracking drift on iOS 26.4+ (re: thread 827240) mitigation guidance and fix timeline?
Hello, and thank you for taking questions this week. We develop DeepWalk, a production App Store application that captures LiDAR depth, RGB, and ARKit camera poses while field technicians walk continuous outdoor routes (sidewalk and infrastructure assessment). Recorded ARCamera.transform values are used downstream for 3D reconstruction, so world-tracking accuracy directly determines our output quality. Problem: Beginning in early April 2026 and coinciding with the iOS 26.4 rollout across our device fleet, we observe directional, accumulating pose drift in recorded trajectories during normal walking motion. The behavior matches the regression reported in forum thread 827240 (world-tracking drift on LiDAR devices on iOS 26.4+, absent on non-LiDAR devices running identical code). Link to existing post here: https://developer.apple.com/forums/thread/827240 Our configuration is minimal: a default ARWorldTrackingConfiguration with frameSemantics = [.sceneDepth, .smoothedSceneDepth] and no other options set, running on a bare ARSession with a Metal renderer (no SceneKit/RealityKit). We measure drift directly from per-frame ARCamera.transform values, so the displacement appears in ARKit's pose output itself rather than in any rendering layer. The drift accumulates with walking distance and does not occur when the device is stationary. We've observed this across a large variety of devices (iPhone 15/16/17 Pro/Pro Max) on all iOS versions 26.4 or greater. We've also observed this on iPad Pros with updated firmware. Thread 827240 additionally reports that disabling autofocus, HDR, and plane detection and varying scene reconstruction and world alignment did not resolve it. Question Because depth capture is our core function, we cannot avoid engaging the LiDAR scanner, and we're not aware of a public API that adjusts its contribution to world tracking. We'd be grateful for guidance on three questions: Is this a known issue in iOS 26.4 and later? Did the LiDAR contribution to world tracking change in that release? For apps that require sceneDepth, is there any recommended session configuration, video format, or capture-side practice that reduces the drift in the interim? Is a fix planned, and if so, should we expect it in an iOS 26.x update or the iOS 27 cycle? This affects how we manage our deployed device fleet. We're happy to provide trajectory datasets, additional sysdiagnoses, or anything else useful. We have quantified drift-per-distance data across OS versions.
5
1
754
Jul ’26
Reality Composer Pro 3 Beta 2: Unable to configure Assistant model provider
In Reality Composer Pro 3 Beta 2 so version 3.0 (75.0.21.500.2), I’m unable to connect any model provider or complete setup for the Assistant feature. I tried the following API endpoints: OpenAI: https://api.openai.com/v1 https://api.openai.com/v1/responses https://api.openai.com/v1/chat/completions Anthropic / Claude: https://api.anthropic.com/v1 https://api.anthropic.com/v1/messages None of these allow the Assistant setup to complete. It is unclear what endpoint format Reality Composer Pro expects, or whether provider setup is currently broken in Beta 2. Ticket with a video showing the issue can be found here: FB23493842
2
0
262
Jul ’26
Reality Composer Pro 3 is unable to properly import my .usdz file
Hi, I’m running into an issue when importing a .usdz asset into Reality Composer Pro 3. The exact same asset was working perfectly in Reality Composer Pro 2, and it also works correctly when previewed in Xcode 27.0 beta or loaded directly in RealityKit from code. However, in Reality Composer Pro 3, the asset does not import correctly: The material appears completely broken and looks different from the original asset. The animations are not working. The same .usdz works as expected in Reality Composer Pro 2, including materials and animations. The same .usdz also works as expected in Xcode / RealityKit. I also noticed that the Preview app does not seem to import the asset correctly either. In Preview, the asset has the wrong orientation and it looks like the skeleton and animations may not be recognized properly. Here are a few screenshots showing how the asset appears in each app: Reality Composer Pro 2: asset works correctly, including materials and animations. Xcode 27.0 beta preview: asset works correctly, including materials and animations. Reality Composer Pro 3: material is broken and animations are not working. Preview app: wrong orientation, possible skeleton / animation import issue. I filed a ticket FB23214120 that contains an example Xcode project and RCP2 & RCP3 projects. Is there anything specific that changed in the USDZ import pipeline in Composer Pro 3 that could explain this behavior? Thanks!
3
2
641
Jun ’26
Can a RealityKit ShaderGraph read a custom-named USD primvar?
In Reality Composer Pro I try to read it with a Primvar Reader / Geometric Property node (type float), setting the name field to AttributeTest and also to primvars:AttributeTest. In both cases the node only returns its fallback value never the actual per-vertex data. No error or warning. If I instead author the data as a vertex Color Attribute so it exports as primvars:displayColor, the Geometry Color node reads it correctly. So the data pipeline works for the color slot, but not for a custom-named primvar. I actually verified in RCP 3 too i have the same issue, but at least you can see in RCP 3 that the attribute does actually live on the mesh when selecting it. Thanks.
1
0
374
Jun ’26
Access main camera on Apple Vision Pro
From visionOS 2.0 we can access Apple Vision Pro's main camera but only for Enterprise account as it is enterprise API only, I have a normal Developer account and I want to use main camera and want to have a video call feature in app by using main camera of AVP, is it possible to do it using developer account only. Currently using that account I am not able to create entitlement certificate as there is no option.
4
0
964
Jun ’26
How do I dismiss a presented sheet?
I'm developing an app requiring data entry across several devices. My SwiftUI app runs on iOS and iPadOS but I also want to run it on visionOS. I'm using the visionOS simulator. When I enter data in one of my views I use a Form within a .sheet and this works perfectly well on iOS and iPadOS and I can dismiss the sheet by simply tapping the view behind the sheet. On visionOS I click my + button, the sheet appears, I enter the data as usual but after that there is no gesture in the app I can perform with keyboard or mouse that will make the sheet disappear! Do I have to add a "Close" button for visionOS or is there a way to enable the same interaction that works on iPadOS?
2
0
1.3k
Jun ’26
WorldAnchor instantly removed when SpatialTrackingSession and ARKitSession run together
Bug: When SpatialTrackingSession and ARKitSession + WorldTrackingProvider are running concurrently, any WorldAnchor added via WorldTrackingProvider.addAnchor() triggers .added followed immediately by .removed—without any user call to removeAnchor(). The anchor never persists in allAnchors. import SwiftUI import RealityKit import ARKit struct ImmersiveView: View { @State private var worldTracking: WorldTrackingProvider? @State private var arSession: ARKitSession? @State private var processWorldTrackingUpdatesTask: Task<Void, Never>? var body: some View { RealityView { content in let configuration = SpatialTrackingSession.Configuration(tracking: [.world]) if let unavailableCapabilities = await SpatialTrackingSession().run(configuration) { if unavailableCapabilities.anchor.contains(.world) { fatalError("World tracking is not available on this device.") } } let worldTracking = WorldTrackingProvider() let arSession = ARKitSession() self.arSession = arSession try! await arSession.run([worldTracking]) self.worldTracking = worldTracking processWorldTrackingUpdatesTask = Task { @MainActor [weak worldTracking] in guard let worldTracking else { return } for await update in worldTracking.anchorUpdates { let worldAnchor = update.anchor switch update.event { case .added: print("Anchor added: \(worldAnchor.id)") case .updated: print("Anchor updated: \(worldAnchor.id)") case .removed: fatalError("Anchor removed unexpectedly — this should not happen in this demo scenario.") } } } } .task { try? await Task.sleep(for: .seconds(3)) guard let worldTracking else { return } do { try await worldTracking.addAnchor(.init(originFromAnchorTransform: Transform.identity.matrix)) } catch { print("Error adding anchor: \(error)") } } } } Expected: Anchors persist until explicitly removed or out of range. Actual: SpatialTrackingSession interferes with WorldTrackingProvider's anchor lifecycle, causing immediate removal. This was originally reported in 2025 (https://developer.apple.com/forums/thread/773351) , but remains unfixed in visionOS 27.0 beta. I've re-filed as FB23420195.
4
1
456
Jun ’26
Gaussian Splat demo changed, supports USDZ?
Today, I picked up on my work on the Gaussian Splats demo from Apple I was working with last weekend, and it didn't work (I've updated everything to beta 2 this week). I tried downloading a fresh copy of the demo (in case I screwed mine up), and not only does it work, it can load Gaussian Splats data from a USDZ file. Am I mis-remembering what the demo was like last week vs. this week? This feels like major new functionality I haven't heard mentioned anywhere. Is there any documentation/guidance on how to package up Gaussian Splat data (e.g., originally from a PLY file) into a USDZ file?
1
0
357
Jun ’26
Allow External Apps to Remain Visible in an Immersive Space
Many apps utilize ImmersiveSpace simply to render large-scale, custom geometry (such as curved screens, wide-canvas media players, or specialized data visualizations) that cannot be achieved within a standard volumetric window limitations. However, users often still want to multitask—check Messages, reference Safari, access YouTube, etc. Forcing the user to exit the immersive space just to see their other apps breaks their workflow and creates a disjointed user experience. Proposed Solution: I propose adding a property to ImmersionStyle (or a similar API configuration) such as allowSharedSpaceVisibility. When enabled, this would: Allow the ImmersiveSpace to render its custom RealityKit content as usual and prevent the system from automatically hiding the user's existing Shared Space windows. Do me a solid here VisionOS team and please consider this feedback request. 🙏 FB: FB22973973 FB: FB21630340
1
0
349
Jun ’26
Backwards Compatibility
No technical justification is strong enough to erase months of developer work through incompatible project migrations without a reliable upgrade path. Reality Composer Pro has evolved quickly, but projects built around timelines, behaviors, transforms, spin, orbit, hide actions, and synchronized audio represent hundreds of hours of creative work. When those projects import with missing actions or stripped timelines, the cost isn’t just technical—it is developer time, money, and eduction that cannot be recovered. Please prioritize migration tools or compatibility layers that preserve existing timeline projects. Backward compatibility is not just about code; it is about respecting the investment developers make in your platform. Xcode 27 Beta 2 Reality Composer Pro 3 Import reports: Missing Transform To Missing Transform By Missing Spin Missing Orbit Missing Hide Missing timelines and behavior Audio synchronization no longer present 60 others. Basically any movement or action. For a new developer, this isn’t the loss of a feature. It’s the loss of two years of blindly learning, invested in a workflow that no longer exists. That work now survives only in memories of an app that never had the chance to be approved. Can i revert to the previous version? Thank you for any replies and the time taken.
2
0
296
Jun ’26
How to set the video transparently on the model?
Hello, everyone. How to paste a mov transparent video of a generation channel on a model in RCP? In addition, how to paste a video with a black background on the model and remove the black part to make it transparent.
Replies
1
Boosts
0
Views
247
Activity
2w
Bake texture option in reality composer?
Hello guys, Reality composer pro really packed with a lot of math tools. i can easily create modular textures just as good as substance painter's smart materials and then reuse them across my games with minor node seed changes. The problem is, they will calculate in real time. Considering every game needs baked textures, Is there any future plans to develop a baking system inside reality composer pro ?
Replies
2
Boosts
0
Views
286
Activity
3w
The particle system produced in RCP。
The particle system produced in RCP, when the VisionPro knob is long pressed to reset, the motion direction of the Motion parameter is misaligned. Is there a way to solve it?
Replies
1
Boosts
0
Views
246
Activity
3w
VisionOS RCP The model fades in and incorrectly displays the model outline on the UI
There is a UI panel with Attachment added in my scene. There are other models in the scene, and when the model fades in using OpacityComponent, the UI panel incorrectly displays the outline of the model, as shown in the red box in the picture. The model fade in code is like this: public func FadeInEntity( entity:Entity, duration: TimeInterval = 1.0, completion: (() -> Void)? = nil ) { entity.stopAllAnimations() if entity.components[OpacityComponent.self] == nil { entity.components.set(OpacityComponent(opacity: 0)) } else{ entity.components[OpacityComponent.self]?.opacity = 0 } EnableEntity(entity: entity) let action = FromToByAction<Float>( from: 0, to: 1, timing: .easeInOut ) do { let anim = try AnimationResource.makeActionAnimation( for: action, duration: duration, bindTarget: .opacity ) entity.playAnimation(anim) DispatchQueue.main.asyncAfter(deadline: .now() + duration) { completion?() } } catch { completion?() } }
Replies
1
Boosts
0
Views
169
Activity
3w
Spatial Audio: <<<< FigAudioSession(AV) >>>> signalled err=-19224 at <>:612
Ok trying to play Spatial Audio on my VisionPro. OS26.4, using Xcode 26.4.1. Every attempt gives me the following error. <<<< FigAudioSession(AV) >>>> signalled err=-19224 at <>:612 I have tried the sample code at https://developer.apple.com/documentation/visionos/playing-spatial-audio-in-visionos and it gives the same error.
Replies
5
Boosts
0
Views
1.3k
Activity
3w
Is GaussianSplatComponent different than other Components?
I have been analyzing Apple's Gaussian-Splats-on-visionOS demo project, and it appears that the GaussianSplatComponent is treated differently than other Components. In the function makeSplatEntity(), a GaussianSplatComponent is created and added to an Entity's components: let comp = try assembleSplatComponent(from: buffers, isLinear: isLinear) let entity = Entity() entity.components.set(comp) But when I check the entity's components collection before and after the add/set, nothing has changed. The entity still has the same children. Is the GaussianSplatComponent stored in a different location in the Entity? If so, is it a public property I can inspect? (Or is my interpretation of the components system wrong?) Here are the results of print statements before and after the set() BEFORE ADDING COMPONENT Entity number of components: 2 Component: Transform(scale: SIMD3<Float>(1.0, 1.0, 1.0), rotation: simd_quatf(real: 1.0, imag: SIMD3<Float>(0.0, 0.0, 0.0)), translation: SIMD3<Float>(0.0, 0.0, 0.0)) Component: RealityKit.SynchronizationComponent AFTER ADDING COMPONENT Entity number of components: 2 Component: Transform(scale: SIMD3<Float>(1.0, 1.0, 1.0), rotation: simd_quatf(real: 1.0, imag: SIMD3<Float>(0.0, 0.0, 0.0)), translation: SIMD3<Float>(0.0, 0.0, 0.0)) Component: RealityKit.SynchronizationComponent
Replies
1
Boosts
0
Views
332
Activity
4w
Viewing Gaussian splats while inside the model
I am trying to view immersive environments that are Gaussian Splats created by marble [dot] worldlabs [dot] ai. For example, here is one named "Steampunk City Night View": (Note: the low-res version is 500,000 splats, so I am just testing the first 200,000 splats). But when I try to view it at scale, nothing appears. I tried shrinking it down (scale factor of 0.00595458) and positioning it in front of me, and I could see the content, so the parsing of the PLY file is working. Example: But when I move into the model, it goes clear, also hiding virtual content behind it that is also in the splats' space (like the Mac virtual screen). Example: It is as if when I move inside the Gaussian Splats' bounding box, it sets an opacity material on the splats. This prevents me from using these Gaussian Splats as immersive environments. Is there any way to disable this behavior?
Replies
1
Boosts
0
Views
326
Activity
4w
Vision Pro operating limits and battery in 45°C heat
Hello everyone, ​I’m an R&D software engineer researching the Vision Pro for on-site CAD visualization and quality assurance. This requires using the headset outside in the open air in KSA, where ambient daytime temperatures easily hit 45°C (113°F). ​Before I try deploying this for field work, I have a few specific questions: ​Operating Limits: Will the headset function in 45°C ambient heat, or will it immediately trigger a thermal shutdown? ​Throttling: How aggressively does visionOS throttle performance or dim the displays when running demanding spatial apps in this heat? ​Battery: Will the external battery stop supplying power or refuse to charge under these conditions? ​Workarounds: Are there any known best practices or shading accessories for using the Vision Pro outdoors in extreme climates? ​I know the official operating limit is 30°C, so I'm looking for real-world insights from anyone who has pushed these environmental limits. ​Thank you!
Replies
1
Boosts
0
Views
367
Activity
Jul ’26
Work with Reality Composer Pro content in Xcode
May I ask if there is a complete source code project for this instructional video that needs to be learned. Work with Reality Composer Pro content in Xcode
Replies
5
Boosts
0
Views
773
Activity
Jul ’26
Production LiDAR capture app affected by ARKit world-tracking drift on iOS 26.4+ (re: thread 827240) mitigation guidance and fix timeline?
Hello, and thank you for taking questions this week. We develop DeepWalk, a production App Store application that captures LiDAR depth, RGB, and ARKit camera poses while field technicians walk continuous outdoor routes (sidewalk and infrastructure assessment). Recorded ARCamera.transform values are used downstream for 3D reconstruction, so world-tracking accuracy directly determines our output quality. Problem: Beginning in early April 2026 and coinciding with the iOS 26.4 rollout across our device fleet, we observe directional, accumulating pose drift in recorded trajectories during normal walking motion. The behavior matches the regression reported in forum thread 827240 (world-tracking drift on LiDAR devices on iOS 26.4+, absent on non-LiDAR devices running identical code). Link to existing post here: https://developer.apple.com/forums/thread/827240 Our configuration is minimal: a default ARWorldTrackingConfiguration with frameSemantics = [.sceneDepth, .smoothedSceneDepth] and no other options set, running on a bare ARSession with a Metal renderer (no SceneKit/RealityKit). We measure drift directly from per-frame ARCamera.transform values, so the displacement appears in ARKit's pose output itself rather than in any rendering layer. The drift accumulates with walking distance and does not occur when the device is stationary. We've observed this across a large variety of devices (iPhone 15/16/17 Pro/Pro Max) on all iOS versions 26.4 or greater. We've also observed this on iPad Pros with updated firmware. Thread 827240 additionally reports that disabling autofocus, HDR, and plane detection and varying scene reconstruction and world alignment did not resolve it. Question Because depth capture is our core function, we cannot avoid engaging the LiDAR scanner, and we're not aware of a public API that adjusts its contribution to world tracking. We'd be grateful for guidance on three questions: Is this a known issue in iOS 26.4 and later? Did the LiDAR contribution to world tracking change in that release? For apps that require sceneDepth, is there any recommended session configuration, video format, or capture-side practice that reduces the drift in the interim? Is a fix planned, and if so, should we expect it in an iOS 26.x update or the iOS 27 cycle? This affects how we manage our deployed device fleet. We're happy to provide trajectory datasets, additional sysdiagnoses, or anything else useful. We have quantified drift-per-distance data across OS versions.
Replies
5
Boosts
1
Views
754
Activity
Jul ’26
Reality Composer Pro 3 Beta 2: Unable to configure Assistant model provider
In Reality Composer Pro 3 Beta 2 so version 3.0 (75.0.21.500.2), I’m unable to connect any model provider or complete setup for the Assistant feature. I tried the following API endpoints: OpenAI: https://api.openai.com/v1 https://api.openai.com/v1/responses https://api.openai.com/v1/chat/completions Anthropic / Claude: https://api.anthropic.com/v1 https://api.anthropic.com/v1/messages None of these allow the Assistant setup to complete. It is unclear what endpoint format Reality Composer Pro expects, or whether provider setup is currently broken in Beta 2. Ticket with a video showing the issue can be found here: FB23493842
Replies
2
Boosts
0
Views
262
Activity
Jul ’26
Reality Composer Pro 3 is unable to properly import my .usdz file
Hi, I’m running into an issue when importing a .usdz asset into Reality Composer Pro 3. The exact same asset was working perfectly in Reality Composer Pro 2, and it also works correctly when previewed in Xcode 27.0 beta or loaded directly in RealityKit from code. However, in Reality Composer Pro 3, the asset does not import correctly: The material appears completely broken and looks different from the original asset. The animations are not working. The same .usdz works as expected in Reality Composer Pro 2, including materials and animations. The same .usdz also works as expected in Xcode / RealityKit. I also noticed that the Preview app does not seem to import the asset correctly either. In Preview, the asset has the wrong orientation and it looks like the skeleton and animations may not be recognized properly. Here are a few screenshots showing how the asset appears in each app: Reality Composer Pro 2: asset works correctly, including materials and animations. Xcode 27.0 beta preview: asset works correctly, including materials and animations. Reality Composer Pro 3: material is broken and animations are not working. Preview app: wrong orientation, possible skeleton / animation import issue. I filed a ticket FB23214120 that contains an example Xcode project and RCP2 & RCP3 projects. Is there anything specific that changed in the USDZ import pipeline in Composer Pro 3 that could explain this behavior? Thanks!
Replies
3
Boosts
2
Views
641
Activity
Jun ’26
Can a RealityKit ShaderGraph read a custom-named USD primvar?
In Reality Composer Pro I try to read it with a Primvar Reader / Geometric Property node (type float), setting the name field to AttributeTest and also to primvars:AttributeTest. In both cases the node only returns its fallback value never the actual per-vertex data. No error or warning. If I instead author the data as a vertex Color Attribute so it exports as primvars:displayColor, the Geometry Color node reads it correctly. So the data pipeline works for the color slot, but not for a custom-named primvar. I actually verified in RCP 3 too i have the same issue, but at least you can see in RCP 3 that the attribute does actually live on the mesh when selecting it. Thanks.
Replies
1
Boosts
0
Views
374
Activity
Jun ’26
Access main camera on Apple Vision Pro
From visionOS 2.0 we can access Apple Vision Pro's main camera but only for Enterprise account as it is enterprise API only, I have a normal Developer account and I want to use main camera and want to have a video call feature in app by using main camera of AVP, is it possible to do it using developer account only. Currently using that account I am not able to create entitlement certificate as there is no option.
Replies
4
Boosts
0
Views
964
Activity
Jun ’26
How do I dismiss a presented sheet?
I'm developing an app requiring data entry across several devices. My SwiftUI app runs on iOS and iPadOS but I also want to run it on visionOS. I'm using the visionOS simulator. When I enter data in one of my views I use a Form within a .sheet and this works perfectly well on iOS and iPadOS and I can dismiss the sheet by simply tapping the view behind the sheet. On visionOS I click my + button, the sheet appears, I enter the data as usual but after that there is no gesture in the app I can perform with keyboard or mouse that will make the sheet disappear! Do I have to add a "Close" button for visionOS or is there a way to enable the same interaction that works on iPadOS?
Replies
2
Boosts
0
Views
1.3k
Activity
Jun ’26
WorldAnchor instantly removed when SpatialTrackingSession and ARKitSession run together
Bug: When SpatialTrackingSession and ARKitSession + WorldTrackingProvider are running concurrently, any WorldAnchor added via WorldTrackingProvider.addAnchor() triggers .added followed immediately by .removed—without any user call to removeAnchor(). The anchor never persists in allAnchors. import SwiftUI import RealityKit import ARKit struct ImmersiveView: View { @State private var worldTracking: WorldTrackingProvider? @State private var arSession: ARKitSession? @State private var processWorldTrackingUpdatesTask: Task<Void, Never>? var body: some View { RealityView { content in let configuration = SpatialTrackingSession.Configuration(tracking: [.world]) if let unavailableCapabilities = await SpatialTrackingSession().run(configuration) { if unavailableCapabilities.anchor.contains(.world) { fatalError("World tracking is not available on this device.") } } let worldTracking = WorldTrackingProvider() let arSession = ARKitSession() self.arSession = arSession try! await arSession.run([worldTracking]) self.worldTracking = worldTracking processWorldTrackingUpdatesTask = Task { @MainActor [weak worldTracking] in guard let worldTracking else { return } for await update in worldTracking.anchorUpdates { let worldAnchor = update.anchor switch update.event { case .added: print("Anchor added: \(worldAnchor.id)") case .updated: print("Anchor updated: \(worldAnchor.id)") case .removed: fatalError("Anchor removed unexpectedly — this should not happen in this demo scenario.") } } } } .task { try? await Task.sleep(for: .seconds(3)) guard let worldTracking else { return } do { try await worldTracking.addAnchor(.init(originFromAnchorTransform: Transform.identity.matrix)) } catch { print("Error adding anchor: \(error)") } } } } Expected: Anchors persist until explicitly removed or out of range. Actual: SpatialTrackingSession interferes with WorldTrackingProvider's anchor lifecycle, causing immediate removal. This was originally reported in 2025 (https://developer.apple.com/forums/thread/773351) , but remains unfixed in visionOS 27.0 beta. I've re-filed as FB23420195.
Replies
4
Boosts
1
Views
456
Activity
Jun ’26
Gaussian Splat demo changed, supports USDZ?
Today, I picked up on my work on the Gaussian Splats demo from Apple I was working with last weekend, and it didn't work (I've updated everything to beta 2 this week). I tried downloading a fresh copy of the demo (in case I screwed mine up), and not only does it work, it can load Gaussian Splats data from a USDZ file. Am I mis-remembering what the demo was like last week vs. this week? This feels like major new functionality I haven't heard mentioned anywhere. Is there any documentation/guidance on how to package up Gaussian Splat data (e.g., originally from a PLY file) into a USDZ file?
Replies
1
Boosts
0
Views
357
Activity
Jun ’26
Allow External Apps to Remain Visible in an Immersive Space
Many apps utilize ImmersiveSpace simply to render large-scale, custom geometry (such as curved screens, wide-canvas media players, or specialized data visualizations) that cannot be achieved within a standard volumetric window limitations. However, users often still want to multitask—check Messages, reference Safari, access YouTube, etc. Forcing the user to exit the immersive space just to see their other apps breaks their workflow and creates a disjointed user experience. Proposed Solution: I propose adding a property to ImmersionStyle (or a similar API configuration) such as allowSharedSpaceVisibility. When enabled, this would: Allow the ImmersiveSpace to render its custom RealityKit content as usual and prevent the system from automatically hiding the user's existing Shared Space windows. Do me a solid here VisionOS team and please consider this feedback request. 🙏 FB: FB22973973 FB: FB21630340
Replies
1
Boosts
0
Views
349
Activity
Jun ’26
Backwards Compatibility
No technical justification is strong enough to erase months of developer work through incompatible project migrations without a reliable upgrade path. Reality Composer Pro has evolved quickly, but projects built around timelines, behaviors, transforms, spin, orbit, hide actions, and synchronized audio represent hundreds of hours of creative work. When those projects import with missing actions or stripped timelines, the cost isn’t just technical—it is developer time, money, and eduction that cannot be recovered. Please prioritize migration tools or compatibility layers that preserve existing timeline projects. Backward compatibility is not just about code; it is about respecting the investment developers make in your platform. Xcode 27 Beta 2 Reality Composer Pro 3 Import reports: Missing Transform To Missing Transform By Missing Spin Missing Orbit Missing Hide Missing timelines and behavior Audio synchronization no longer present 60 others. Basically any movement or action. For a new developer, this isn’t the loss of a feature. It’s the loss of two years of blindly learning, invested in a workflow that no longer exists. That work now survives only in memories of an app that never had the chance to be approved. Can i revert to the previous version? Thank you for any replies and the time taken.
Replies
2
Boosts
0
Views
296
Activity
Jun ’26
Will the Chaparral Village sample code be available for download?
Hi, several WWDC26 sessions this year feature the Chaparral Village project. However, I can't find a download for it anywhere. Will the Chaparral Village project be published as downloadable sample code? Thanks!
Replies
2
Boosts
0
Views
490
Activity
Jun ’26