---
title: "renderer(_:didAdd:for:)"
framework: arkit
role: symbol
role_heading: Instance Method
path: "arkit/arscnviewdelegate/renderer(_:didadd:for:)"
---

# renderer(_:didAdd:for:)

Tells the delegate that a SceneKit node corresponding to a new AR anchor has been added to the scene.

## Declaration

```swift
optional func renderer(_ renderer: any SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor)
```

## Parameters

- `renderer`: The doc://com.apple.arkit/documentation/ARKit/ARSCNView object rendering the scene.
- `node`: The newly added SceneKit node.
- `anchor`: The AR anchor corresponding to the node.

## Discussion

Discussion Depending on the session configuration, ARKit may automatically add anchors to a session. The view calls this method once for each new anchor. ARKit also calls this method to provide visual content for any ARAnchor objects you manually add using the session’s add(anchor:) method. You can provide visual content for the anchor by attaching geometry (or other SceneKit features) to this node or by adding child nodes. Alternatively, you can implement the renderer(_:nodeFor:) method to create your own node (or instance of an SCNNode subclass) for an anchor.

## See Also

### Handling Content Updates

- [renderer(_:nodeFor:)](arkit/arscnviewdelegate/renderer(_:nodefor:).md)
- [renderer(_:willUpdate:for:)](arkit/arscnviewdelegate/renderer(_:willupdate:for:).md)
- [renderer(_:didUpdate:for:)](arkit/arscnviewdelegate/renderer(_:didupdate:for:).md)
- [renderer(_:didRemove:for:)](arkit/arscnviewdelegate/renderer(_:didremove:for:).md)
