---
title: categoryBitMask
framework: scenekit
role: symbol
role_heading: Instance Property
path: scenekit/scnnode/categorybitmask
---

# categoryBitMask

A mask that defines which categories the node belongs to.

## Declaration

```swift
var categoryBitMask: Int { get set }
```

## Discussion

Discussion You can assign each node in a scene to one or more categories, where each category corresponds to a bit in the bit mask. You define the mask values used in your app. When SceneKit renders a scene, it compares each node’s categoryBitMask property with the category bit masks of every other object that participates in the rendering process—lights, cameras, and techniques—using a bitwise AND operation. If the result is a nonzero value, SceneKit includes the node when rendering. The default category bit mask is 1. Use a node’s category bit mask together with: An SCNLight object’s categoryBitMask property to exclude the node from that light’s illumination An SCNCamera object’s categoryBitMask property to make the node invisible to that camera The category bit masks in an SCNTechnique object’s definition dictionary to include or exclude the node from phases of a multipass rendering technique note: This property doesn’t affect SceneKit’s physics simulation. To include or exclude a node from physics interactions, use the categoryBitMask property of the node’s physicsBody and physicsField objects.

## See Also

### Managing Node Content

- [name](scenekit/scnnode/name.md)
- [light](scenekit/scnnode/light.md)
- [camera](scenekit/scnnode/camera.md)
- [geometry](scenekit/scnnode/geometry.md)
- [morpher](scenekit/scnnode/morpher.md)
- [skinner](scenekit/scnnode/skinner.md)
- [SCNBoundingVolume](scenekit/scnboundingvolume.md)
