Implementing Dynamic Entities
You can create static sets of dynamic entity definitions with a DynamicEntities
scriptable object. This object allows you to define all of the keywords and synonyms for each entity you want to cover. A single DynamicEntities
scriptable object can contain multiple entities, their keywords, and their synonyms.
To create a DynamicEntities
scriptable object
- In the Unity editor, on the Assets menu, go to Create > Voice SDK > Dynamic Entities.
- In the Assets folder, create a subfolder called
_Projects/Data/Voice
to store the dynamic entities file. Alternatively, navigate to the location where you store files of this type. Save the dynamic entities file. - In the Inspector window, select + just beneath the entity list and then record your first entity. All information in the first expanding section will refer to this entity.
- To enter a keyword for this entity, select + just below the keyword list, and then enter your keyword.
- To enter synonyms for the keyword, enter the number of synonyms, and then enter the individual synonyms for each element.
- Repeat steps 3 and 4 for as many keywords desired for the entity.
- Repeat steps 2 through 5 for as many entities as desired.
For example, the dynamic entity data for a chess board might look like this:

To add the DynamicEntities
scriptable object to your scene
- If your scene does not already have an App Voice Experience GameObject associated with it, add one.
Otherwise:
- Select your scene in the Hierarchy window.
- On the Assets menu, go to Create > Voice SDK > Add App Voice Experience to Scene.
- Select the App Voice Experience GameObject in your scene.
- In the Inspector window, choose Add Component.
- In the Add Component search window, enter
dynamic
, and then select Dynamic Entity Data Provider from the list. - If necessary, expand Dynamic Entity Data Provider (Script) in the Inspector window.
- Expand Entities Definition, and then select + just below the entities list.
- Select the target icon in the Element 0 box, and then double-click the dynamic entities file that you created earlier:

Dynamic Entity Provider
A dynamic entity provider works much the same way the DynamicEntityDataProvider
works and you can add it to the App Voice Experience in much the same way. However, instead of defining your entities within a scriptable object as with the DynamicEntityDataProvider
, with the DynamicEntityProvider
, you define your entities directly in the provider.