---
title: "init(make:update:placeholder:attachments:)"
framework: realitykit
role: symbol
role_heading: Initializer
path: "realitykit/realityview/init(make:update:placeholder:attachments:)"
---

# init(make:update:placeholder:attachments:)

Creates a reality view for visionOS, with attachments, an optional update closure, and placeholder view.

## Declaration

```swift
nonisolated init<A, P>(make: @escaping @MainActor @Sendable (inout RealityViewContent, RealityViewAttachments) async -> Void, update: (@MainActor (inout RealityViewContent, RealityViewAttachments) -> Void)? = nil, @ViewBuilder placeholder: () -> P, @AttachmentContentBuilder attachments: @escaping () -> A) where Content == RealityViewAttachmentBuilderContent<A, RealityViewContent.Body<P>>, A : AttachmentContent, P : View
```

## Parameters

- `make`: An asynchronous closure that configures the initial content of the new RealityView. This closure is asynchronous to keep your app’s UI responsive while you load content to populate this view.
- `update`: An optional closure that updates the RealityView instance’s content as the view’s state changes.
- `placeholder`: A temporary view that the doc://com.apple.RealityKit/documentation/RealityKit/RealityView displays until your closure for the make parameter completes. For example, you can display a loading indicator with a doc://com.apple.documentation/documentation/SwiftUI/ProgressView instance as a placeholder.
- `attachments`: An attachment content builder that adds attachment views to the content of the RealityView.

## Discussion

Discussion This initializer doesn’t automatically add the attachment views to your RealityViewContent. You can access the entities that represent the attachments by calling the entity(for:) method of the RealityViewAttachments, and add them to your content or as a child of another Entity: RealityView { content, attachments in     if let attachment = attachments.entity(for: "example") {         content.add(attachment)     } } attachments: {     Attachment(id: "example") {         Text("hello")     } }

## See Also

### Creating a reality view for visionOS

- [init(make:update:)](realitykit/realityview/init(make:update:)-666xr.md)
- [init(make:update:placeholder:)](realitykit/realityview/init(make:update:placeholder:)-4c8yv.md)
- [init(make:update:attachments:)](realitykit/realityview/init(make:update:attachments:).md)
