(ogn_tutorial_nodes)=

# OmniGraph Walkthrough Tutorials

```{csv-table}
**Extension**: omni.graph.tutorials,**Documentation Generated**: {sub-ref}`today`
```

In the source tree are several tutorials. Enclosed in these tutorial files are curated nodes that implement a
representative portion of the available features in an OmniGraph Node interface. By working through these tutorials
you can gradually build up a knowledge of the concepts used to effectively write OmniGraph Nodes.

```{note}
In the tutorial files irrelevant details such as the copyright notice are omitted for clarity
```

- [Tutorial - OmniGraph Build Environment Conversion](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/conversionTutorial/build_conversion.html)
- [Tutorial - Building OmniGraph Outside Kit](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/conversionTutorial/building_outside_kit.html)
- [Tutorial - OmniGraph .ogn Conversion](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/conversionTutorial/node_conversion.html)
- [Example Setup - Creating An OGN-enabled Extension](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/extensionTutorial/extensionTutorial.html)
- [Tutorial 1 - Trivial Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial1/tutorial1.html)
- [Tutorial 2 - Simple Data Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial2/tutorial2.html)
- [Tutorial 3 - ABI Override Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial3/tutorial3.html)
- [Tutorial 4 - Tuple Data Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial4/tutorial4.html)
- [Tutorial 5 - Array Data Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial5/tutorial5.html)
- [Tutorial 6 - Array of Tuples](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial6/tutorial6.html)
- [Tutorial 7 - Role-Based Data Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial7/tutorial7.html)
- [Tutorial 8 - GPU Data Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial8/tutorial8.html)
- [Tutorial 9 - Runtime CPU/GPU Decision](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial9/tutorial9.html)
- [Tutorial 10 - Simple Data Node in Python](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial10/tutorial10.html)
- [Tutorial 11 - Complex Data Node in Python](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial11/tutorial11.html)
- [Tutorial 12 - Python ABI Override Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial12/tutorial12.html)
- [Tutorial 13 - Python State Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial13/tutorial13.html)
- [Tutorial 14 - Defaults](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial14/tutorial14.html)
- [Tutorial 15 - Bundle Manipulation](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial15/tutorial15.html)
- [Tutorial 16 - Bundle Data](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial16/tutorial16.html)
- [Tutorial 17 - Python State Attributes Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial17/tutorial17.html)
- [Tutorial 18 - Node With Internal State](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial18/tutorial18.html)
- [Tutorial 19 - Extended Attribute Types](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial19/tutorial19.html)
- [Tutorial 20 - Tokens](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial20/tutorial20.html)
- [Tutorial 21 - Adding Bundled Attributes](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial21/tutorial21.html)
- [Tutorial 22 - Bundles On The GPU](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial22/tutorial22.html)
- [Tutorial 23 - Extended Attributes On The GPU](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial23/tutorial23.html)
- [Tutorial 24 - Overridden Types](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial24/tutorial24.html)
- [Tutorial 25 - Dynamic Attributes](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial25/tutorial25.html)
- [Tutorial 26 - Generic Math Node](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial26/tutorial26.html)
- [Tutorial 27 - GPU Data Node with CPU Array Pointers](../../kit-sdk/latest/source/extensions/omni.graph.tutorials/tutorials/tutorial27/tutorial27.html)
