---
title: "updateAndRender(deltaTime:cameraOutput:whenScheduled:onComplete:actionsBeforeRender:actionsAfterRender:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/realityrenderer/updateandrender(deltatime:cameraoutput:whenscheduled:oncomplete:actionsbeforerender:actionsafterrender:)"
---

# updateAndRender(deltaTime:cameraOutput:whenScheduled:onComplete:actionsBeforeRender:actionsAfterRender:)

Tick the simulation and render using activeCamera and the camera rendering output.

## Declaration

```swift
@MainActor @preconcurrency func updateAndRender(deltaTime: TimeInterval, cameraOutput: RealityRenderer.CameraOutput, whenScheduled: (@Sendable (RealityRenderer) -> Void)? = nil, onComplete: (@Sendable (RealityRenderer) -> Void)? = nil, actionsBeforeRender: [RealityRenderer.MetalEventAction] = [], actionsAfterRender: [RealityRenderer.MetalEventAction] = []) throws
```

## Parameters

- `deltaTime`: The delta time to advance the simulation
- `cameraOutput`: Specifies output for rendering with doc://com.apple.RealityKit/documentation/RealityKit/RealityRenderer/activeCamera
- `whenScheduled`: A handler that is called when the corresponding MTLCommandBuffer is scheduled
- `onComplete`: A handler that is called when the corresponding MTLCommandBuffer is complete
- `actionsBeforeRender`: Array of events and values to wait before GPU rendering work
- `actionsAfterRender`: Array of events and values to signal after GPU rendering work
