Skip to main content

Create Your Experience

In this section, we'll set up the environment with the characters you created in Inworld Studio.

Preparation

1. Check your assets.

To integrate your own characters into your Unity project, you will need to ensure the following:

  1. Access at least one Workspace.
  2. Generated at least one API Key in your workspace on the Integrations page.
  3. Access at least one Character in your workspace.
  4. Access at least one Inworld Scene in your workspace.
  5. 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 Project tab.

01

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 InworldController GameObject. 02

Import Characters

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 Inworld > Studio Panel.

OpenPanel

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.

5. Click Connect.

03

⚠️ Note:

  • The token copied using these steps has an expiration time of 1 hour.
  • If the data does not load correctly, try clicking the Refresh button 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.

  1. 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.
  2. 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. 04 4. You can also drag the prefab directly into your Unity Scene. 06

⚠️ Note:

  • All the downloaded data will be saved at Inworld/UserData/{YOUR_USER_NAME}/.
  • All the downloaded 3D models will be saved at Inworld/UserData/{YOUR_USER_NAME}/Avatar.
  • All the downloaded prefabs will be saved at Inworld/UserData/{YOUR_USER_NAME}/Prefabs.
  • All the downloaded ScriptableObjects will be saved at Inworld/UserData/{YOUR_USER_NAME}/GameData.
  • 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 W A S D keys. 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.

PlayerController

⚠️ Note: PlayerController contains a MainCamera object. Usually you do not want your Unity scene to have more than one MainCamera, so you may want to delete any existing MainCamera objects from the scene before or after adding Inworld's PlayerController.

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.

5. Done

Congratulations, you're all set! Now, let's click the Play button:

Done

Please note the following if you are using our default PlayerController:

  • You can use the W A S D keys to move around
  • You can use the Q E keys 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 Record button to send verbal responses

User Data

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. UserData1

You may find that your Inworld User Settings object is not set as the current User Setting in InworldAI. UserData2

In your User Settings object, you will also find data related to the scenes and characters that have been loaded under each respective workspace. UserData3

2. Scene Data

You can also find InworldGameData objects, for each of the scenes that you have selected through the Inworld Studio Panel. UserData4

⚠️ 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 InworldCharacter prefabs will be saved at Inworld/UserData/{YOUR_USER_NAME}/Prefabs.
  • All the downloaded 3D models will be saved at Inworld/UserData/{YOUR_USER_NAME}/Avatar.
  • All the downloaded 2D thumbnails will be saved at Inworld/UserData/{YOUR_USER_NAME}/Thumbnail.

UserData5

4. Checking Data Integrity

Once you have added an InworldCharacter into a scene, please check if the following are correct:

  • There is an InworldController in the hierarchy and it contains the correct InworldGameData in 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!