<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macOS: 26.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/ImmersionStyle",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI14ImmersionStyleP"
  },
  "title" : "ImmersionStyle"
}
-->

# ImmersionStyle

The styles that an immersive space can have.

```
protocol ImmersionStyle
```

## Overview

Configure the appearance and behavior of an [`ImmersiveSpace`](/documentation/SwiftUI/ImmersiveSpace) by adding the
[`immersionStyle(selection:in:)`](/documentation/SwiftUI/Scene/immersionStyle(selection:in:)) scene modifier to the space and
specifying a style that conforms to this protocol, like
[`mixed`](/documentation/SwiftUI/ImmersionStyle/mixed) or [`full`](/documentation/SwiftUI/ImmersionStyle/full).
For example, the following app defines a solar system scene that
uses full immersion:

```
@main
struct SolarSystemApp: App {
    @State private var style: ImmersionStyle = .full

    var body: some Scene {
        ImmersiveSpace {
            SolarSystem()
        }
        .immersionStyle(selection: $style, in: .full)
    }
}
```

## Topics

### Getting built-in styles

[`automatic`](/documentation/SwiftUI/ImmersionStyle/automatic)

The default immersion style.

[`full`](/documentation/SwiftUI/ImmersionStyle/full)

An immersion style that displays unbounded content that completely
replaces passthrough video.

[`mixed`](/documentation/SwiftUI/ImmersionStyle/mixed)

An immersion style that displays unbounded content intermixed with other
app content, along with passthrough video.

[`progressive`](/documentation/SwiftUI/ImmersionStyle/progressive)

An immersion style that displays unbounded content that partially
replaces passthrough video.

### Supporting types

[`AutomaticImmersionStyle`](/documentation/SwiftUI/AutomaticImmersionStyle)

The default style of immersive spaces.

[`FullImmersionStyle`](/documentation/SwiftUI/FullImmersionStyle)

An immersion style that displays unbounded content that completely replaces
passthrough video.

[`MixedImmersionStyle`](/documentation/SwiftUI/MixedImmersionStyle)

An immersion style that displays unbounded content intermixed with other
app content, along with passthrough video.

[`ProgressiveImmersionStyle`](/documentation/SwiftUI/ProgressiveImmersionStyle)

An immersion style that displays unbounded content that partially replaces
passthrough video.



---

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)