# Develop logic transitions with State Graphs

You can use State Graphs to change behaviors of GameObjects based on specific conditions. 

## Create a new state 

After you [create a new graph file](vs-create-graph.md) for a State Graph, you can [create states](vs-create-state.md) to tell Visual Scripting what a GameObject does, and when. 

## Create a transition 

Use [transitions](vs-transitions.md) to tell Visual Scripting when a GameObject changes states. There's no restriction on how many transitions you can create. 

## State Unit nodes 

You can use a [State Unit node](vs-nesting-state-unit-node.md) to nest a State Graph inside a Script Graph.