Reality Composer Pro 3 is a standalone tool (no longer bundled inside Xcode) that introduces live on-device preview, GPU-based Compute Graphs, a Lightmapping system for baked indirect lighting, a prototype/instancing workflow, and an AI Assistant that generates 3D objects and materials on demand for visionOS experiences.
โข Live Preview streams scene changes directly to a connected Vision Pro in real time, eliminating build-and-deploy cycles and letting you see lighting and physics exactly as end-users will
โข Lightmaps let you pre-bake indirect lighting (including ambient occlusion and beauty passes) into textures, giving scenes high-quality global illumination at runtime without GPU cost
โข The AI-powered Reality Composer Pro Assistant generates 3D objects and materials from text prompts, letting you prototype and populate scenes in seconds without leaving the tool
Shows how to load a RealityKit scene built in Reality Composer Pro 3 that uses a LightmapComponent for baked indirect lighting, and how to programmatically override a prototype instance's component values at runtime.
import SwiftUI
import RealityKit
// MARK: - visionOS app entry point showing a RCP3-authored scene
@main
struct AlchemyLabApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
ImmersiveSpace(id: "AlchemyLab") {
AlchemyLabView()
}
}
}
struct ContentView: View {
@Environment(\.openImmersiveSpace) private var openImmersiveSpace
var body: some View {
Button("Open Alchemy Lab") {
Task { await openImmersiveSpace(id: "AlchemyLab") }
}
.padding()
}
}
// MARK: - Immersive view that loads the RCP3 scene bundle
struct AlchemyLabView: View {
var body: some View {
RealityView { content in
// Load the .usda scene exported / authored in Reality Composer Pro 3.
// The scene already contains a LightmapComponent baked in RCP3.
guard let scene = try? await Entity(named: "AlchemyArea",
in: Bundle.main) else {
return
}
content.add(scene)
// Locate the two prototype instances authored in RCP3.
if let magicEffect = scene.findEntity(named: "Magic Effect"),
let brewingEffect = scene.findEntity(named: "Brewing Effect") {
// Override the point-light color on the Magic Effect instance
// at runtime โ mirrors the per-instance override workflow in RCP3.
overrideLightColor(on: magicEffect,
color: .init(red: 0.4, green: 0.0, blue: 1.0, alpha: 1.0))
// Override the Brewing Effect instance with a warmer tone.
overrideLightColor(on: brewingEffect,
color: .init(red: 1.0, green: 0.5, blue: 0.0, alpha: 1.0))
}
}
}
// MARK: - Helper: override PointLightComponent on an RCP3 prototype instance
private func overrideLightColor(on entity: Entity,
color: UIColor) {
// Walk child hierarchy to find the glow entity that holds the light.
guard let glowEntity = entity.findEntity(named: "Glow") else { return }
// Read existing component, mutate, write back โ standard RealityKit pattern.
var light = glowEntity.components[PointLightComponent.self]
?? PointLightComponent()
light.color = color
light.intensity = 800 // lumens
light.attenuationRadius = 0.4 // metres
glowEntity.components.set(light)
}
}
Liquid Glass is Apple's new material and visual design language introduced in iOS 27, bringing translucent, refractive glass-like surfaces to system and custom UI elements. It replaces the frosted vibrancy aesthetic with a more dynamic, depth-aware material that responds to content beneath it.
PaperKit is Apple's full-featured canvas framework โ previously internal-only โ now publicly available in iOS/macOS/visionOS 27. It powers the drawing and markup experience in Notes, Preview, and Freeform, giving developers access to a complete pencil, shapes, images, and text canvas with a rich data model.
Xcode 27 introduces a fully customizable toolbar and theme system, untitled scratch projects, coding agent integration directly in the editor, and the new Device Hub for evaluating apps across simulators and physical devices side-by-side.
In-depth guide
RealityKit & USDKit in iOS 27 โReality Composer Pro 3 is no longer an Xcode plugin โ it must be downloaded separately from developer.apple.com. Live Preview is shipping later in the year (post-initial release). Lightmap quality settings dramatically affect bake time; 'High' on large scenes can take several minutes. Prototype overrides are non-destructive but can be accidentally propagated back to source.
Live Preview requires a physical Apple Vision Pro connected to the development Mac; Lightmap baking and AI Assistant run on Mac. Compute Graphs require a compatible GPU.
iOS 27 introduces new SwiftUI drag and drop APIs including reorderable, reorderContainer, dragContainer, and configuration modifiers that enable reordering within and across collections, multi-item drag, and fine-grained control over how data is transferred during drag and drop operations.