---
title: Accessing and Modifying the Node Tree
framework: spritekit
role: article
role_heading: Article
path: spritekit/accessing-and-modifying-the-node-tree
---

# Accessing and Modifying the Node Tree

See the objects and functions you use to control the node tree’s composition.

## Overview

Overview You create the node tree by creating parent-child relationships between nodes. Each node maintains an ordered list of children, referenced by reading the node’s children property. The order of the children in the tree affects many aspects of scene processing, including hit testing and rendering, so it’s important to organize the node tree appropriately.  |   |   |   |  When you need to directly traverse the node tree, you use the properties in the following table to uncover the tree’s structure.  |   |   |   |

## See Also

### Modifying the Node Tree

- [addChild(_:)](spritekit/sknode/addchild(_:).md)
- [insertChild(_:at:)](spritekit/sknode/insertchild(_:at:).md)
- [isEqual(to:)](spritekit/sknode/isequal(to:).md)
- [move(toParent:)](spritekit/sknode/move(toparent:).md)
- [removeFromParent()](spritekit/sknode/removefromparent().md)
- [removeAllChildren()](spritekit/sknode/removeallchildren().md)
- [removeChildren(in:)](spritekit/sknode/removechildren(in:).md)
- [inParentHierarchy(_:)](spritekit/sknode/inparenthierarchy(_:).md)
