Reality Composer Pro

RSS for tag

Prototype and produce content for AR experiences using Reality Composer Pro.

Learn More

Posts under Reality Composer Pro subtopic

Post

Replies

Boosts

Views

Activity

Support for externally rendered light maps
Is it possible to utilize exr light maps rendered externally, for example in Blender, in Reality Composer Pro 3? I am thinking there might be a light map node in the material graph editor, that uses the same mixing modes as internally generated light maps, allowing workflows where light maps are rendered externally.
2
0
69
1w
Workflow advice for DICOM to Vision Pro
I seek advice on converting 3-D TIFF volumes, typically (1k)^3 16-bit unsigned integer, into guided and unguided Apple Vision Pro displays. My background is Mathematica (Wolfram) and ImageJ/Fiji applied to datasets collected at facilities such as the Advanced Photon Source at Argonne Natl. Lab. By guided, I mean a student/teacher situation such as used by MassVirtual to train aircraft mechanics and the chemistry software Nanome. By unguided, I mean the shared VR environment used by Shapr3D. For medical data, my current workflow is DICOM->Wolfram->Blender->Freeform, all on a Mac, then iCloud transfer of Freeform from Mac to Vision Pro. It works, but seems there should be something better. Suggestions?
2
0
54
1w
GaussianSplatComponent: dynamic buffer updates, splat-count limit, and large "walk-inside" captures
We're building animated and streamed Gaussian splat playback into Scenery, our native Apple AR/spatial authoring platform, and have a few questions about the intended usage of GaussianSplatComponent / GaussianSplatResource. Dynamic / animated splats (4D) Is mutating the underlying LowLevelBuffer behind a BufferResource at runtime a supported pattern, or is the component intended for static captures? BufferResource's init is @MainActor and the resource's bufferResource property is let, which suggests static intent. For animated (4D) splats, do we need to wrap a new BufferResource each frame and reassign it, or will in-place writes to the existing buffer be picked up by the renderer? If re-wrapping is required, is there a recommended cadence, and does it trigger a full re-sort/re-upload internally? LOD streaming / swapping Related: for streaming splat LOD, is swapping the BufferResource (or its buffers) at runtime supported, and is there a cost model we should design around — e.g. does a swap re-sort and re-upload everything, or can partial updates be done? Splat-count limit The BufferResource initializer throws past an internal limit (we're seeing ~200k). Is this limit fixed, memory-derived, or per-device? Is it per-component or per-scene — i.e. can we tile a large capture across multiple GaussianSplatComponents to exceed it? Any guidance on the intended ceiling and whether it's expected to change? Large captures as immersive environments We'd like to use a large splat capture as an environment the user walks inside (camera within the splat volume), rather than an object viewed from outside. Is this an intended use case? We're seeing splats appear to fade/break up as the camera gets very close — is that near-plane behavior, an opacity falloff, or the projection breaking down at close range, and can it be controlled? Does ProjectionMode.tangential help for inside-the-volume viewing? Thank you and appreciate the great updates!
2
2
102
1w
creating hexagonal triplanar material
I'm trying to create a hexagonal triplanar material in Reality Composer Pro 3 using Shader Graph. Could you provide guidance, or an example node setup, for creating a seamless hex-tile texture using triplanar projection? My goal is to apply a hex pattern to 3D objects without visible seams or texture stretching. Are there any sample projects, Shader Graph examples, or recommended workflows for achieving this in Reality Composer Pro?
1
0
47
1w
Questions about RoomPlan, Room API, USDZ/STEP comparison, and extended spatial scanning
Dear Apple Developer Team, I would like to ask a few questions related to RoomPlan, Room API, USDZ export, and possible future spatial scanning workflows: Can the RoomPlan or Room API load an existing USDZ room model and compare it in real time with a new live scan of the same space? Is Apple considering extending RoomPlan beyond indoor rooms, for example to scan outdoor areas, house exteriors, terrain, and simple building volumes with rough dimensions? Will RoomPlan support multi-floor continuous scanning, custom object detection elements, and reliable export of the scanned result to USDZ for further CAD/BIM workflows? Is it possible to create a real-time comparator between a reference object in USDZ or STEP format and a physical object being scanned live, so that deviations in geometry or dimensions can be detected during scanning? Best regards, Ivo Saina
1
0
55
1w
Creating hexagonal triplanar materials
I'm trying to create a hexagonal triplanar material in Reality Composer Pro 3 using Shader Graph. Could you provide guidance, or an example node setup, for creating a seamless hex-tile texture using triplanar projection? My goal is to apply a hex pattern to 3D objects without visible seams or texture stretching. Are there any sample projects, Shader Graph examples, or recommended workflows for achieving this in Reality Composer Pro? Thanks
1
2
57
1w
MeshInstancesComponent vs. manual merging
For Vision Pro's tiled GPU, how does MeshInstancesComponent compare to manually merging meshes for draw-call reduction? Does it collapse draw calls similarly while still allowing per-instance transform and material variation? Deciding whether to re-architect a heavy interior scene around it instead of hand-merging in Maya.
1
0
42
1w
RCP3 Tutorials
RCP 3 adds a lot of artist-facing surface: lightmaps, Animation Graph, Script Graph. Are step-by-step, artist-oriented tutorials planned beyond the API reference docs? A guided onboarding path would help 3D artists adopt these features much faster.
2
2
74
1w
Draw order between model sort groups
I’m familiar with using ModelSortGroupComponent to control draw order, but how does RealityKit determine the draw order between model sort groups? How can I enforce a specific draw order between two model sort groups that require different depth pass modes and therefore can't be combined into a single model sort group? Are there model bounding box tricks I can safely rely on?
1
0
84
1w
Camera/Player Start
On visionOS the user's viewpoint isn't directly movable, so we currently invert world movement to simulate locomotion — translating the scene root rather than the camera. With RCP 3 / RealityKit this year, is there a supported way to define or animate a starting viewpoint — a "player start" transform — for an immersive scene, or is world-relative transform still the only sanctioned approach?
2
1
46
1w
How can an in-ImmersiveSpace menu behave like a regular 2D window in visionOS?
I’m building a visionOS app with an ImmersiveSpace, and I want to show a menu or control panel inside that immersive space. The menu would be created as part of the app’s immersive content, for example as a SwiftUI attachment in a RealityView, or as a custom RealityKit entity with UI-like content. What I would like is for this in-space menu to behave more like a regular visionOS 2D window: The user can move the menu naturally. While the menu is being moved, it automatically adjusts its orientation to face the user. It maintains a comfortable apparent size or distance while being repositioned. It avoids awkward angles or unreadable placement. It feels similar to the system-managed behavior of regular 2D windows. My question is: is there a supported way to give an in-ImmersiveSpace menu the same placement and movement behavior as a normal 2D window? More specifically: Is there a built-in component or API that provides window-like movement, billboard-facing behavior, comfortable distance handling, or automatic scaling for custom panels inside an immersive space? If not, is the recommended approach to implement this behavior manually in RealityKit, for example by tracking the user’s head position and updating the panel’s transform? If manual implementation is required, are there recommended comfort guidelines for menu distance, scale, rotation limits, and movement behavior in immersive spaces? Alternatively, is the recommended design to use a regular 2D window or utility panel outside the immersive content, rather than trying to recreate window behavior inside the ImmersiveSpace?
1
0
59
1w
Xcode fails to compile Blender-exported USDZ in .rkassets with misleading "permission" error — Xcode 26.3
The error: When building a RealityKitContent package that contains a USDZ file exported from Blender, Xcode throws the following error: error: [xrsimulator] Exception thrown during compile: Cannot get rkassets content for path .../RealityKitContent.rkassets because 'The file "RealityKitContent.rkassets" couldn't be opened because you don't have permission to view it.' error: Tool exited with code 1 The error message mentions "permission" — but permissions are not the issue. This appears to be a misleading error from realitytool masking a USD validation failure. What I've ruled out File permissions — all files are -rw-r--r--, user has Read & Write on the folder Extended attributes / quarantine flag — other files with the same @ flag work fine Corrupted archive — unzip -t confirms the USDZ is valid (board.usdc + textures) Stale build cache — deleted DerivedData and com.apple.DeveloperTools cache, no change Key observations The same file builds successfully on my colleague's machine running identical Xcode 26.3 - MacOS 26.3 Other USDZ files in the same .rkassets bundle (downloaded from Sketchfab, or created in Reality Composer Pro) compile without any issue. Only USDZ files exported directly from Blender are affected. When the file is placed in Bundle.main and loaded via Entity(named:in:.main), it works perfectly — no errors Reality Converter flags the file with two errors: UsdGeomPointInstancers not allowed, and root layer must be .usdc with no external dependencies The confusing part: the same file compiles fine on an identical Xcode 26.3 setup and importing method. This suggests either a machine-specific difference in Xcode's validation behavior, or a cached .reality bundle on my colleague's machine that isn't being recompiled. Current workaround: Loading from Bundle.main instead of the RealityKitContent package bypasses realitytool entirely and works, but loses Reality Composer Pro integration: if let entity = try? await Entity(named: "test", in: Bundle.main)
1
0
1.6k
Mar ’26
Support for externally rendered light maps
Is it possible to utilize exr light maps rendered externally, for example in Blender, in Reality Composer Pro 3? I am thinking there might be a light map node in the material graph editor, that uses the same mixing modes as internally generated light maps, allowing workflows where light maps are rendered externally.
Replies
2
Boosts
0
Views
69
Activity
1w
Workflow advice for DICOM to Vision Pro
I seek advice on converting 3-D TIFF volumes, typically (1k)^3 16-bit unsigned integer, into guided and unguided Apple Vision Pro displays. My background is Mathematica (Wolfram) and ImageJ/Fiji applied to datasets collected at facilities such as the Advanced Photon Source at Argonne Natl. Lab. By guided, I mean a student/teacher situation such as used by MassVirtual to train aircraft mechanics and the chemistry software Nanome. By unguided, I mean the shared VR environment used by Shapr3D. For medical data, my current workflow is DICOM->Wolfram->Blender->Freeform, all on a Mac, then iCloud transfer of Freeform from Mac to Vision Pro. It works, but seems there should be something better. Suggestions?
Replies
2
Boosts
0
Views
54
Activity
1w
Vision API
Am I correct to understand that visionOS 27 brings the Vision API to the headset? What are the privacy restrictions on its use?
Replies
3
Boosts
0
Views
120
Activity
1w
GaussianSplatComponent: dynamic buffer updates, splat-count limit, and large "walk-inside" captures
We're building animated and streamed Gaussian splat playback into Scenery, our native Apple AR/spatial authoring platform, and have a few questions about the intended usage of GaussianSplatComponent / GaussianSplatResource. Dynamic / animated splats (4D) Is mutating the underlying LowLevelBuffer behind a BufferResource at runtime a supported pattern, or is the component intended for static captures? BufferResource's init is @MainActor and the resource's bufferResource property is let, which suggests static intent. For animated (4D) splats, do we need to wrap a new BufferResource each frame and reassign it, or will in-place writes to the existing buffer be picked up by the renderer? If re-wrapping is required, is there a recommended cadence, and does it trigger a full re-sort/re-upload internally? LOD streaming / swapping Related: for streaming splat LOD, is swapping the BufferResource (or its buffers) at runtime supported, and is there a cost model we should design around — e.g. does a swap re-sort and re-upload everything, or can partial updates be done? Splat-count limit The BufferResource initializer throws past an internal limit (we're seeing ~200k). Is this limit fixed, memory-derived, or per-device? Is it per-component or per-scene — i.e. can we tile a large capture across multiple GaussianSplatComponents to exceed it? Any guidance on the intended ceiling and whether it's expected to change? Large captures as immersive environments We'd like to use a large splat capture as an environment the user walks inside (camera within the splat volume), rather than an object viewed from outside. Is this an intended use case? We're seeing splats appear to fade/break up as the camera gets very close — is that near-plane behavior, an opacity falloff, or the projection breaking down at close range, and can it be controlled? Does ProjectionMode.tangential help for inside-the-volume viewing? Thank you and appreciate the great updates!
Replies
2
Boosts
2
Views
102
Activity
1w
creating hexagonal triplanar material
I'm trying to create a hexagonal triplanar material in Reality Composer Pro 3 using Shader Graph. Could you provide guidance, or an example node setup, for creating a seamless hex-tile texture using triplanar projection? My goal is to apply a hex pattern to 3D objects without visible seams or texture stretching. Are there any sample projects, Shader Graph examples, or recommended workflows for achieving this in Reality Composer Pro?
Replies
1
Boosts
0
Views
47
Activity
1w
Questions about RoomPlan, Room API, USDZ/STEP comparison, and extended spatial scanning
Dear Apple Developer Team, I would like to ask a few questions related to RoomPlan, Room API, USDZ export, and possible future spatial scanning workflows: Can the RoomPlan or Room API load an existing USDZ room model and compare it in real time with a new live scan of the same space? Is Apple considering extending RoomPlan beyond indoor rooms, for example to scan outdoor areas, house exteriors, terrain, and simple building volumes with rough dimensions? Will RoomPlan support multi-floor continuous scanning, custom object detection elements, and reliable export of the scanned result to USDZ for further CAD/BIM workflows? Is it possible to create a real-time comparator between a reference object in USDZ or STEP format and a physical object being scanned live, so that deviations in geometry or dimensions can be detected during scanning? Best regards, Ivo Saina
Replies
1
Boosts
0
Views
55
Activity
1w
Creating hexagonal triplanar materials
I'm trying to create a hexagonal triplanar material in Reality Composer Pro 3 using Shader Graph. Could you provide guidance, or an example node setup, for creating a seamless hex-tile texture using triplanar projection? My goal is to apply a hex pattern to 3D objects without visible seams or texture stretching. Are there any sample projects, Shader Graph examples, or recommended workflows for achieving this in Reality Composer Pro? Thanks
Replies
1
Boosts
2
Views
57
Activity
1w
MeshInstancesComponent vs. manual merging
For Vision Pro's tiled GPU, how does MeshInstancesComponent compare to manually merging meshes for draw-call reduction? Does it collapse draw calls similarly while still allowing per-instance transform and material variation? Deciding whether to re-architect a heavy interior scene around it instead of hand-merging in Maya.
Replies
1
Boosts
0
Views
42
Activity
1w
Real Animation Graph with Curves and Keyframes
RCP 3's Animation Graph covers state machines and blending of imported clips. As an animator, is there now any in-editor support for authoring or editing animation curves and keyframes directly — a graph editor or dope sheet — or must all keyframe animation still be authored in a DCC (Maya/Blender) and imported as clips?
Replies
1
Boosts
1
Views
56
Activity
1w
RCP3 Tutorials
RCP 3 adds a lot of artist-facing surface: lightmaps, Animation Graph, Script Graph. Are step-by-step, artist-oriented tutorials planned beyond the API reference docs? A guided onboarding path would help 3D artists adopt these features much faster.
Replies
2
Boosts
2
Views
74
Activity
1w
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
3
Boosts
0
Views
421
Activity
1w
Draw order between model sort groups
I’m familiar with using ModelSortGroupComponent to control draw order, but how does RealityKit determine the draw order between model sort groups? How can I enforce a specific draw order between two model sort groups that require different depth pass modes and therefore can't be combined into a single model sort group? Are there model bounding box tricks I can safely rely on?
Replies
1
Boosts
0
Views
84
Activity
1w
How can I export from RCP3beta for use with AR Quick Look?
There is no "export" for a scene or project like in RCP2. I tried to select root|world but none of the 3 file formats export components, therefore no interaction is possible. It works inside RCP3 with PLAY. I tried the exported .reality asset in macOS27 and on iPadOS27. No interactions.
Replies
2
Boosts
1
Views
38
Activity
1w
Camera/Player Start
On visionOS the user's viewpoint isn't directly movable, so we currently invert world movement to simulate locomotion — translating the scene root rather than the camera. With RCP 3 / RealityKit this year, is there a supported way to define or animate a starting viewpoint — a "player start" transform — for an immersive scene, or is world-relative transform still the only sanctioned approach?
Replies
2
Boosts
1
Views
46
Activity
1w
How can an in-ImmersiveSpace menu behave like a regular 2D window in visionOS?
I’m building a visionOS app with an ImmersiveSpace, and I want to show a menu or control panel inside that immersive space. The menu would be created as part of the app’s immersive content, for example as a SwiftUI attachment in a RealityView, or as a custom RealityKit entity with UI-like content. What I would like is for this in-space menu to behave more like a regular visionOS 2D window: The user can move the menu naturally. While the menu is being moved, it automatically adjusts its orientation to face the user. It maintains a comfortable apparent size or distance while being repositioned. It avoids awkward angles or unreadable placement. It feels similar to the system-managed behavior of regular 2D windows. My question is: is there a supported way to give an in-ImmersiveSpace menu the same placement and movement behavior as a normal 2D window? More specifically: Is there a built-in component or API that provides window-like movement, billboard-facing behavior, comfortable distance handling, or automatic scaling for custom panels inside an immersive space? If not, is the recommended approach to implement this behavior manually in RealityKit, for example by tracking the user’s head position and updating the panel’s transform? If manual implementation is required, are there recommended comfort guidelines for menu distance, scale, rotation limits, and movement behavior in immersive spaces? Alternatively, is the recommended design to use a regular 2D window or utility panel outside the immersive content, rather than trying to recreate window behavior inside the ImmersiveSpace?
Replies
1
Boosts
0
Views
59
Activity
1w
DCC round-trip preserving authored data
When I iterate geometry in Maya/Blender after assigning components, prototype overrides, and lightmaps in RCP 3, does re-importing the updated USD preserve those bindings, or do they need reauthoring on each import? What's the recommended round-trip for art that's still changing?
Replies
2
Boosts
2
Views
47
Activity
1w
Spatial scenes API on iOS
Does iOS 27 support the spatial scenes API (ImagePresentationComponent) so apps like our Art Authority Museum can let users “lean into” scenes? (Feedback FB21882981 submitted last year)
Replies
1
Boosts
0
Views
47
Activity
1w
How to trigger hover events in UI in RealityView 3D space
attachments: { Attachment(id: "UI_Book_01") { Button { print("Tap...") } label: { Text("Tap me") .padding() .background(.ultraThinMaterial) }.hoverEffect { effect, isActive, _ in if isActive { print("hover...") //Unable to trigger } return effect } } }
Replies
2
Boosts
0
Views
1.6k
Activity
2w
Object Capture feature in visionOS
The object capture feature in Reality Composer App is only available in iOS and iPadOS at the moment, would this feature be available for visionOS in near future? Reality Composer App Store https://apps.apple.com/us/app/reality-composer/id1462358802
Replies
2
Boosts
0
Views
1.7k
Activity
May ’26
Xcode fails to compile Blender-exported USDZ in .rkassets with misleading "permission" error — Xcode 26.3
The error: When building a RealityKitContent package that contains a USDZ file exported from Blender, Xcode throws the following error: error: [xrsimulator] Exception thrown during compile: Cannot get rkassets content for path .../RealityKitContent.rkassets because 'The file "RealityKitContent.rkassets" couldn't be opened because you don't have permission to view it.' error: Tool exited with code 1 The error message mentions "permission" — but permissions are not the issue. This appears to be a misleading error from realitytool masking a USD validation failure. What I've ruled out File permissions — all files are -rw-r--r--, user has Read & Write on the folder Extended attributes / quarantine flag — other files with the same @ flag work fine Corrupted archive — unzip -t confirms the USDZ is valid (board.usdc + textures) Stale build cache — deleted DerivedData and com.apple.DeveloperTools cache, no change Key observations The same file builds successfully on my colleague's machine running identical Xcode 26.3 - MacOS 26.3 Other USDZ files in the same .rkassets bundle (downloaded from Sketchfab, or created in Reality Composer Pro) compile without any issue. Only USDZ files exported directly from Blender are affected. When the file is placed in Bundle.main and loaded via Entity(named:in:.main), it works perfectly — no errors Reality Converter flags the file with two errors: UsdGeomPointInstancers not allowed, and root layer must be .usdc with no external dependencies The confusing part: the same file compiles fine on an identical Xcode 26.3 setup and importing method. This suggests either a machine-specific difference in Xcode's validation behavior, or a cached .reality bundle on my colleague's machine that isn't being recompiled. Current workaround: Loading from Bundle.main instead of the RealityKitContent package bypasses realitytool entirely and works, but loses Reality Composer Pro integration: if let entity = try? await Entity(named: "test", in: Bundle.main)
Replies
1
Boosts
0
Views
1.6k
Activity
Mar ’26