Create Your Experience
In this section, we'll set up the environment with the characters you created in Inworld Studio.
1. Check your assets.
To integrate your own characters into your Unity project, you will need to ensure the following:
- Access at least one Workspace.
- Generated at least one API Key in your workspace on the Integrations page.
- Access at least one Character in your workspace.
- Access at least one Inworld Scene in your workspace.
- Ensure that your Inworld Scene contains all the Characters you need to interact with.
If you do not know how to create an Inworld Character, please check our Prerequisities page.
For more information, please check out the Studio Tutorial Series.
The next two steps are for those who wish to import their own characters into an existing demo scene. If you wish to import your characters into a new scene or your own existing scene, you can skip to the Import Characters section.
2. Duplicate a demo scene.
⚠️ Note: We strongly recommend that you do not modify our demo scenes directly, as this may cause data corruption. If you want to create your own scenes based on our samples, please duplicate them first.
For example, if you wish to duplicate the
SampleBasic scene. You can copy and paste it in the
3. Delete the original character.
Our product only allows characters from the specified Inworld Scene (of the Inworld Controller) to appear in your Unity Scene. Therefore, please delete the original Inworld character in the cloned Unity Scene (as this character is linked to one of our internal workspaces/scenes). By default, the character is located under the
1. Login Inworld Studio
1. Open Inworld Studio Panel in Unity.
You can either click
Inworld on the top menu, then select
Inworld Studio Panel,
or right click anywhere in
Project tab, then select
2. At https://studio.inworld.ai, click
Integration > Generate Studio Access Token.
3. Click the
Copy button to copy it.
4. In Unity, paste the token you copied into the Inworld Studio Panel.
- The token copied using these steps has an expiration time of 1 hour.
- If the data does not load correctly, try clicking the
Refreshbutton located at the bottom of the Inworld Studio Panel.
- If the problem persists, please check your network connection and copy-paste the login token again.
2. Select your Inworld assets.
- Once you are connected to the Inworld Studio server, you can choose your workspace. The panel will download the data (key/scene/character references/etc) of that workspace.
- Once your workspace has been downloaded, you can select the relevant API Key and Inworld Scene to download the data (character thumbnails/models/etc) of that scene.
⚠️ Note: By default, if you only have one scene or one API key in your workspace, it'll be chosen automatically.
After that Inworld Scene has been downloaded, you can click on the thumbnail of any character to navigate to that character's prefab in the Project tab and from there you can drag it into the hierarchy. 4. You can also drag the prefab directly into your Unity Scene.
- All the downloaded data will be saved at
- All the downloaded 3D models will be saved at
- All the downloaded prefabs will be saved at
- All the downloaded
ScriptableObjectswill be saved at
- If you change your name, all that data above will be downloaded to new folders.
- All the InworldCharacters in your Unity Scene that do not belong to the current Inworld Scene will be deleted. For more information, please check the getting-started page.
3. (Optional) Add PlayerController
PlayerController is a component provided by the Inworld Unity SDK. Inworld can operate normally without it. However, the
PlayerController offers the following features:
A camera controller that enables you to move the camera using the
A menu for sending text messages and recording voice by pressing the backquote
~ key. Additionally, the InworldCharacter will turn to face the PlayerController component.
If you are using a cloned sample scene,
PlayerController is already included in the scene. Otherwise, you can click
Add PlayerController to Scene in the Inworld Studio Panel to create one.
MainCameraobject. Usually you do not want your Unity scene to have more than one
MainCamera, so you may want to delete any existing
MainCameraobjects from the scene before or after adding Inworld's
4. (Optional) Change your user name.
After connecting, the Inworld AI Unity SDK will fetch your Unity UserName (most likely your email address) as the default name used in the SDK.
Please check How to change your user name for more details.
Congratulations, you're all set! Now, let's click the
Please note the following if you are using our default
- You can use the
Dkeys to move around
- You can use the
Ekeys on your keyboard to move up and down
- By clicking and dragging the
Left Mouse Button, you can look around
- You can talk to the character that you are looking at using the microphone, please ensure that your microphone is correctly set-up in your OS system sound settings
- You can click the
~key to open a text panel. This allows you to type text or hold the
Recordbutton to send verbal responses
Once you have connected to Inworld Studio, some data related to your Inworld account will have been downloaded and generated for you. Here is the data structure:
1. Inworld User Settings
InworldUserSetting is the main user info ScriptableObject, it stores your workspaces, scenes, characters, etc. By default, the name is your user name.
You may find that your Inworld User Settings object is not set as the current User Setting in
In your User Settings object, you will also find data related to the scenes and characters that have been loaded under each respective workspace.
2. Scene Data
You can also find
InworldGameData objects, for each of the scenes that you have selected through the Inworld Studio Panel.
⚠️ Note: This data will only be updated when you select and fetch your Inworld Scene through the Inworld Studio Panel.
3. Character Data
- The actual
InworldCharacterprefabs will be saved at
- All the downloaded 3D models will be saved at
- All the downloaded 2D thumbnails will be saved at
4. Checking Data Integrity
Once you have added an InworldCharacter into a scene, please check if the following are correct:
- There is an
InworldControllerin the hierarchy and it contains the correct
InworldGameDatain its Game Data field.
Once all the data you have checked is accurate, you can press the Play button and interact with your Inworld Character from the Studio in Unity!