> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inworld.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The Inworld Agent Runtime for Unity provides various components that work together to enable AI-powered functionality in your games and applications.

## Classes

References for C# classes. These are classes that implements the interactions between Unity and the underlying Inworld C++ library.

* [InworldController](./InworldController)

* [InworldGraphExecutor](./InworldGraphExecutor)

* [InworldAudioManager](./InworldAudioModule/InworldAudioManager)

* [InworldAudioModule](./InworldAudioModule/InworldAudioModule)
  * [AudioCaptureModule](./InworldAudioModule/AudioCaptureModule)
  * [AudioCollectModule](./InworldAudioModule/AudioCollectModule)
  * [AudioDispatchModule](./InworldAudioModule/AudioDispatchModule)
  * [VoiceActivityDetector](./InworldAudioModule/VoiceActivityDetector)

* [InworldFrameworkModule](./InworldFrameworkModule/InworldFrameworkModule)
  * [InworldAECModule](./InworldFrameworkModule/InworldAECModule)
  * [InworldLLMModule](./InworldFrameworkModule/InworldLLMModule)
  * [InworldSafetyModule](./InworldFrameworkModule/InworldSafetyModule)
  * [InworldSTTModule](./InworldFrameworkModule/InworldSTTModule)
  * [InworldTTSModule](./InworldFrameworkModule/InworldTTSModule)
  * [InworldVADModule](./InworldFrameworkModule/InworldVADModule)
  * [KnowledgeModule](./InworldFrameworkModule/KnowledgeModule)
  * [TelemetryModule](./InworldFrameworkModule/TelemetryModule)
  * [TextEmbedderModule](./InworldFrameworkModule/TextEmbedderModule)

## Scriptable Objects

References for Scriptable Objects. These are configurable assets that you can create by the asset menu.

### Graph Asset

Graph is the container for an AI chain execution path, composed of Nodes, Edges and Components (experimental).
At runtime, they are compiled (to their respective runtime classes you can access) and executed by the Graph Executor.

* [InworldGraphAsset](./InworldGraphAsset/InworldGraphAsset)
  * [CharacterInteractionGraphAsset](./InworldGraphAsset/CharacterInteractionGraphAsset)

### Node Asset

* [InworldNodeAsset](./InworldNodeAsset/InworldNodeAsset)
  * [CustomNodeAsset](./InworldNodeAsset/CustomNodeAsset)
  * [IntentNodeAsset](./InworldNodeAsset/IntentNodeAsset)
  * [LLMNodeAsset](./InworldNodeAsset/LLMNodeAsset)
  * [RandomCannedTextNodeAsset](./InworldNodeAsset/RandomCannedTextNodeAsset)
  * [SafetyNodeAsset](./InworldNodeAsset/SafetyNodeAsset)
  * [STTNodeAsset](./InworldNodeAsset/STTNodeAsset)
  * [SubgraphNodeAsset](./InworldNodeAsset/SubgraphNodeAsset)
  * [TextAggregatorNodeAsset](./InworldNodeAsset/TextAggregatorNodeAsset)
  * [TextChunkingNodeAsset](./InworldNodeAsset/TextChunkingNodeAsset)
  * [TextProcessorNodeAsset](./InworldNodeAsset/TextProcessorNodeAsset)
  * [TTSNodeAsset](./InworldNodeAsset/TTSNodeAsset)

### Edge Asset

* [InworldEdgeAsset](./InworldEdgeAsset/InworldEdgeAsset)
  * [InworldAudioEdgeAsset](./InworldEdgeAsset/InworldAudioEdgeAsset)
  * [InworldJsonEdgeAsset](./InworldEdgeAsset/InworldJsonEdgeAsset)
  * [InworldLLMEdgeAsset](./InworldEdgeAsset/InworldLLMEdgeAsset)
  * [InworldSafetyEdgeAsset](./InworldEdgeAsset/InworldSafetyEdgeAsset)
  * [InworldTextEdgeAsset](./InworldEdgeAsset/InworldTextEdgeAsset)

### Component Asset (Experimental)

* [InworldComponentAsset](./InworldComponentAsset/InworldComponentAsset)

The component class is created to support Graph JSON serialization. This feature is currently experimental.

### Data Asset

* [CharacterData](./DataClasses/CharacterData)
* [GoalData](./DataClasses/GoalData)
* [IntentData](./DataClasses/IntentData)
* [KnowledgeData](./DataClasses/KnowledgeData)

## Node Input/Output Reference

This table provides a quick reference for all workflow nodes and their input/output data types:

| Node Name                                                          | Input Types                           | Output Types                   |
| ------------------------------------------------------------------ | ------------------------------------- | ------------------------------ |
| **Inworld Nodes**                                                  |                                       |                                |
| [LLM](./InworldNodeAsset/LLMNodeAsset)                             | `LLMChatRequest`                      | `LLMChatResponse`              |
| [STT](./InworldNodeAsset/STTNodeAsset)                             | `InworldAudioChunk`                   | `InworldText`                  |
| [TTS](./InworldNodeAsset/TTSNodeAsset)                             | `InworldText`                         | `InworldDataStream<TTSOutput>` |
|                                                                    | `TTSRequest`                          | `InworldDataStream<TTSOutput>` |
| [TextAggregator](./InworldNodeAsset/TextAggregatorNodeAsset)       | `InworldText`                         | `InworldText`                  |
|                                                                    | `DatInworldDataStreamaStream<string>` | `InworldText`                  |
|                                                                    | `LLMCompletionResponse`               | `InworldText`                  |
|                                                                    | `LLMChatResponse`                     | `InworldText`                  |
| [TextChunking](./InworldNodeAsset/TextChunkingNodeAsset)           | `InworldText`                         | `InworldText`                  |
|                                                                    | `InworldDataStream<string>`           | `InworldText`                  |
|                                                                    | `LLMCompletionResponse`               | `InworldText`                  |
|                                                                    | `LLMChatResponse`                     | `InworldText`                  |
| [RandomCannedText](./InworldNodeAsset/RandomCannedTextNodeAsset)   | N/A                                   | `InworldText`                  |
| [Safety](./InworldNodeAsset/SafetyNodeAsset)                       | `InworldText`                         | `SafetyResult`                 |
| [Intent](./InworldNodeAsset/SafetyNodeAsset)                       | `InworldText`                         | `MatchedIntents`               |
| **Unity Nodes (CustomNodes Used in the Character Interaction)**    |                                       |                                |
| `AddSpeechEventNode`                                               | `SafetyResult`                        | `InworldText`                  |
|                                                                    | `LLMChatResponse`                     | `InworldText`                  |
|                                                                    | `InworldText`                         | `InworldText`                  |
|                                                                    | `InworldDataStream<TTSOutput>`        | `InworldText`                  |
| `ConversationEndpointNode`                                         | `InworldText`                         | `InworldText`                  |
| `CustomSampleNode`                                                 | `InworldText`                         | `InworldText`                  |
|                                                                    | `InworldAudioChunk`                   | `InworldAudioChunk`            |
| `FilterInputNode`                                                  | Any                                   | `InworldText`                  |
|                                                                    |                                       | `InworldAudioChunk`            |
| `FormatPromptNode`                                                 | `InworldText`                         | `LLMChatRequest`               |
| `GetPlayerNameNode`                                                | N/A                                   | `InworldText`                  |
| `TextCombinerNode`                                                 | `InworldText`                         | `InworldText`                  |
| `TextProcessorNode`                                                | `InworldDataStream<string>`           | `InworldDataStream<string>`    |
| `TxtToPromptSampleNode`                                            | `InworldText`                         | `LLMChatRequest`               |
| **Inworld Nodes (Available via API Only, no Unity NodeAsset yet)** |                                       |                                |
| `LLMCompletionNode`                                                | `InworldText`                         | `LLMCompletionResponse`        |
| `LLMPromptBuilderNode`                                             | `InworldJson`                         | `InworldText`                  |
| `LLMChatRequestBuilderNode`                                        | `InworldJson`                         | `LLMChatRequest`               |
| `KnowledgeNode`                                                    | `InworldText`                         | `KnowledgeRecords`             |
| `KeywordMatcherNode`                                               | `InworldText`                         | `MatchedKeywords`              |
| `TextClassifierNode`                                               | `InworldText`                         | `ClassificationResult`         |
| `MemoryUpdateNode`                                                 | `InworldText`                         | `MemoryState`                  |
|                                                                    | `EventHistory`                        | `MemoryState`                  |
|                                                                    | `MemoryState`                         | `MemoryState`                  |
|                                                                    | `Text`                                | `MemoryState`                  |
| `MemoryRetrieveNode`                                               | `EventHistory`                        | `KnowledgeRecords`             |
|                                                                    | `MemoryState`                         | `KnowledgeRecords`             |
|                                                                    | `Text`                                | `KnowledgeRecords`             |
| `GoalAdvancementNode`                                              | `EventHistory`                        | `GoalAdvancement`              |
|                                                                    | `EventHistory`                        | `GoalAdvancement`              |
|                                                                    | `Json`                                | `GoalAdvancement`              |
|                                                                    | `Text`                                | `GoalAdvancement`              |
| `MCPListToolsNode`                                                 | N/A                                   | `ListToolsData`                |
| `MCPCallToolNode`                                                  | `ListToolCallData`                    | `ListToolCallsResults`         |

## More Reference Pages

<CardGroup>
  <Card title="Class Inheritance Hierarchy" href="./hierarchy">
    Explore the class inheritance relationships in the Unity AI Runtime.
  </Card>

  <Card title="Interfaces" href="./interfaces">
    Discover all runtime interfaces and the contracts they define.
  </Card>

  <Card title="Enums" href="./enums">
    Reference for all available enums, their meanings, and values.
  </Card>

  <Card title="Delegates" href="./delegates">
    Learn about callback delegates used throughout the runtime.
  </Card>
</CardGroup>
