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

# full

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

```
@export(implementation) static var full: FullImmersionStyle { get }
```

## Discussion

When this immersion style is selected, the immersion amount reported by
the closure of [`onImmersionChange(initial:_:)`](/documentation/SwiftUI/View/onImmersionChange(initial:_:)) is `1.0`.

Use the [`immersionStyle(selection:in:)`](/documentation/SwiftUI/Scene/immersionStyle(selection:in:)) scene modifier to
specify this style for an [`ImmersiveSpace`](/documentation/SwiftUI/ImmersiveSpace).

When using this style, the space’s content fully obscures passthrough
except for the user’s upper limbs. You can manage limb visibility
separately by applying the [`upperLimbVisibility(_:)`](/documentation/SwiftUI/Scene/upperLimbVisibility(_:)) scene
modifier to the space, or the view modifier equivalent to a view inside
the scene.

The immersion style affects how windows interact with virtual objects
in the environment. In `full` immersion, windows always render in front
of virtual content, no matter how someone positions the window or the
content. This helps people to avoid losing track of windows behind
virtual content when passthrough is off.

---

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)