<!--
{
  "documentType" : "article",
  "framework" : "Updates",
  "identifier" : "/documentation/Updates/RealityKit",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "RealityKit updates"
}
-->

# RealityKit updates

Learn about important changes in RealityKit.

## Overview

Browse notable changes in <doc://com.apple.documentation/documentation/RealityKit>.

## June 2025

### General

- Create hover effect groups to indicate entities that need to highlight together using <doc://com.apple.documentation/documentation/RealityKit/HoverEffectComponent/GroupID>.
- Present popovers from volumes using <doc://com.apple.documentation/documentation/RealityKit/PresentationComponent>.
- Manually create instances of entities using <doc://com.apple.documentation/documentation/RealityKit/MeshInstancesComponent>.
- Animate entities implicitly using <doc://com.apple.documentation/documentation/RealityKit/Entity/animate(_:body:completion:)>.
- Create and modify attachments in a more streamlined fashion using <doc://com.apple.documentation/documentation/RealityKit/ViewAttachmentComponent>.
- Make entities render behind real-world objects based on depth using <doc://com.apple.documentation/documentation/RealityKit/EnvironmentBlendingComponent>.
- Implement post-processing effects using <doc://com.apple.documentation/documentation/RealityKit/RealityViewPostProcessEffect> and <doc://com.apple.documentation/documentation/RealityKit/PostProcessEffectContext>.
- Attach models together using <doc://com.apple.documentation/documentation/RealityKit/Entity/attach(_:to:)>.
- <doc://com.apple.documentation/documentation/RealityKit/TextureResource> now supports AVIF textures and entities you load from USDZ files that contain AVIF textures using <doc://com.apple.documentation/documentation/RealityKit/Entity/init(named:in:)>  so they render correctly.
- Load entities from Data objects using <doc://com.apple.documentation/documentation/RealityKit/Entity/init(from:configurations:)>.

### Image presentation

- Generate spatial scenes using <doc://com.apple.documentation/documentation/RealityKit/ImagePresentationComponent/Spatial3DImage> and present them (along with 2D images and spatial photos) using <doc://com.apple.documentation/documentation/RealityKit/ImagePresentationComponent>.
- Receive notifications related to presenting images using <doc://com.apple.documentation/documentation/RealityKit/ImagePresentationEvents>.
- Use <doc://com.apple.documentation/documentation/RealityKit/Model3DAsset> with <doc://com.apple.documentation/documentation/RealityKit/Model3D> to play animations in Model3D Views.

### ARKit integration

- Receive updates about ARKit anchors directly in RealityKit using <doc://com.apple.documentation/documentation/RealityKit/AnchorStateEvents> and <doc://com.apple.documentation/documentation/RealityKit/SceneEvents/TrackingStateUpdate>.

### SwiftUI integration

- Use SwiftUI implicit animations using the <doc://com.apple.documentation/documentation/SwiftUI/Animation> modifier with RealityKit entities and components.
- Keep SwiftUI state in sync with RealityKit state using <doc://com.apple.documentation/documentation/RealityKit/Entity/Observable-swift.struct>.
- Present USD variants in <doc://com.apple.documentation/documentation/RealityKit/Model3D> using <doc://com.apple.documentation/documentation/RealityKit/Entity/ConfigurationCatalog>.
- Specify the frame sizing and alignment option for RealityView using <doc://com.apple.documentation/documentation/RealityKit/RealityViewLayoutOption>.

### Video presentation

- Play spatial video, 180°, 360°, wide-FOV APMP video, and Apple Immersive Video in  <doc://com.apple.documentation/documentation/RealityKit/VideoPlayerComponent>.
- Retrieve the loading status when playing video using <doc://com.apple.documentation/documentation/RealityKit/VideoPlayerComponent> with <doc://com.apple.documentation/documentation/RealityKit/VideoPlayerComponent/currentRenderingStatus>.
- Receive notifications when a video stops playing due to a comfort violation using <doc://com.apple.documentation/documentation/RealityKit/VideoPlayerEvents/VideoComfortMitigationDidOccur>.

### Gestures and entity interaction

- Implement six degree of freedom (6DOF) gestures for manipulating entities using <doc://com.apple.documentation/documentation/RealityKit/ManipulationComponent>.
- Leverage <doc://com.apple.documentation/documentation/RealityKit/GestureComponent> to support gestures on individual entities.

## June 2024

### General

- Add artistic lights and shadows to your visionOS app with <doc://com.apple.documentation/documentation/RealityKit/PointLightComponent>, <doc://com.apple.documentation/documentation/RealityKit/DirectionalLightComponent>, <doc://com.apple.documentation/documentation/RealityKit/SpotLightComponent>, and <doc://com.apple.documentation/documentation/RealityKit/DynamicLightShadowComponent>.
- Manage spatial tracking in your app with the <doc://com.apple.documentation/documentation/RealityKit/SpatialTrackingSession>.
- Use <doc://com.apple.documentation/documentation/RealityKit/LowLevelMesh> to efficiently bring your mesh data to RealityKit, including custom vertex attributes, formats, and layouts.
- Use an <doc://com.apple.documentation/documentation/RealityKit/AnimationLibraryComponent> to store associated animations with an entity that plays the animations.
- Create an  <doc://com.apple.documentation/documentation/RealityKit/IKComponent> to animate a skeletal model with an inverse kinematics <doc://com.apple.documentation/documentation/RealityKit/IKComponent/Solver>.
- Use an <doc://com.apple.documentation/documentation/RealityKit/AudioLibraryComponent> to store associated audio with an entity that plays the audio.
- Stream generated audio in real time with <doc://com.apple.documentation/documentation/RealityKit/AudioGeneratorController>.
- Manage the meshes on your blend shapes with <doc://com.apple.documentation/documentation/RealityKit/BlendShapeWeightsComponent>.
- Create more engaging sound effects by configuring rolloff and reverb with the <doc://com.apple.documentation/documentation/RealityKit/SpatialAudioComponent>.
- Customize hover effects when using <doc://com.apple.documentation/documentation/RealityKit/HoverEffectComponent>, such as spotlight styles, highlight styles, or shader-backed hover effects for additional control over hover behaviors.

### Models and materials

- Optimize material initialization with a <doc://com.apple.documentation/documentation/RealityKit/CustomMaterial/Program-swift.class> to compile backing shaders.
- Use <doc://com.apple.documentation/documentation/RealityKit/TextureResource/init(from:)> to efficiently update custom texture data in RealityKit, including custom pixel formats, texture types, swizzle, and texture usage.
- Create cube texture resources with
  <doc://com.apple.documentation/documentation/RealityKit/TextureResource/init(cubeFromEquirectangular:named:quality:faceSize:options:)> or <doc://com.apple.documentation/documentation/RealityKit/TextureResource/init(cubeFromImage:named:options:)>.
- Access additional texture resource properties: <doc://com.apple.documentation/documentation/RealityKit/TextureResource/arrayLength>, <doc://com.apple.documentation/documentation/RealityKit/TextureResource/depth>, <doc://com.apple.documentation/documentation/RealityKit/TextureResource/pixelFormat>, and <doc://com.apple.documentation/documentation/RealityKit/TextureResource/textureType>.
- Add a clearcoat to your custom materials with <doc://com.apple.documentation/documentation/RealityKit/CustomMaterial/clearcoatNormal-swift.property>.

### Physics and simulations

- Apply force effects on rigid bodies with the <doc://com.apple.documentation/documentation/RealityKit/ForceEffect>.
- Create simulations such as hinge and slider joints with <doc://com.apple.documentation/documentation/RealityKit/PhysicsJoint>.

### Immersive environments

- Anchor dockable videos by attaching a <doc://com.apple.documentation/documentation/RealityKit/DockingRegionComponent> to your entity.
- Peer into other immersive worlds with a <doc://com.apple.documentation/documentation/RealityKit/PortalComponent>, and allow objects from that world to enter yours with <doc://com.apple.documentation/documentation/RealityKit/PortalCrossingComponent>.
- Further control the lighting in your environment with <doc://com.apple.documentation/documentation/RealityKit/EnvironmentLightingConfigurationComponent>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)