Skip to main content

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 > Inworld Component Asset Class: InworldComponentAsset | Inherits from: ScriptableObject Inworld Component Asset is specifically used to hold json imports of a graph. It’s currently an experimental feature. Base ScriptableObject for graph components (e.g., LLM/STT/TTS/Knowledge/TextEmbedder/Routing). Mirrors the ‘components’ entries in json files.

Properties

Reference

ID

Gets or sets the unique identifier for this component. If the ID is empty or null, returns the asset name as the ID.

Returns

Type: string

ComponentType

Gets the type of this component. This property is protected set, meaning it can only be modified by derived classes.

Returns

Type: string

CreationConfig

Gets or sets the configuration data used for creating this component. This virtual property can be overridden by derived classes to provide specific configuration.

Returns

Type: ConfigData

ComponentData

Gets the component data structure containing the ID and type information. This virtual property creates a ComponentData object with the current ID and ComponentType.

Returns

Type: ComponentData

Serialized Fields

The following fields are configurable in the Unity Inspector:
  • m_ID (string) - The unique identifier for this component (default: “component”)
  • m_Type (string) - The type of this component (default: “Component”)

Important Notes

ScriptableObject Creation

This asset can be created through Unity’s Asset menu:
  • Menu Path: Inworld/Create Component/Default
  • File Name: Inworld_Component
  • Order: -1995 (appears early in the menu)

Json Import Pipeline

This is currently an experimental feature used for:
  • Holding JSON imports of graph components
  • Mirroring ‘components’ entries from JSON files
  • Providing a base structure for various component types
When importing a graph from JSON, aside from the nodes and edges which controls the flow of data, we also need to create modules to support LLM features and make sure their creation config stays the same as when they were exported. As such, when exporting a graph, configuration of modules are serialized as component assets.

Component Types

The base class supports various component types including:
  • LLM - Large Language Model components
  • STT - Speech-to-Text components
  • TTS - Text-to-Speech components
  • Knowledge - Knowledge base components
  • TextEmbedder - Text embedding components
  • Routing - Component routing logic

Inheritance Pattern

Derived classes should:
  • Override CreationConfig to provide specific configuration data
  • Override ComponentData to include additional component-specific information
  • Set the appropriate ComponentType in their constructors or initialization