Adding Voxta to a Virt-A-Mate scene

This guide will help you add Voxta on a Virt-a-Mate scene (when not provided by Voxta).

Preliminaries

Make sure you have followed steps below:

Adding Voxta to a blank scene

Step by step process:

  • Start Virt-a-Mate
  • Load the desired scene
  • Once the scene is loaded
  • Bring up the Menu (U)
  • Activate Edit mode (E)
  • Go to the Person atom (N)
  • Go to Plugins tab
  • Click Add Plugin
  • Search for Voxta
  • Folder should look like “AcidBubbles.Voxta.#Version#
  • Open folder and click on Voxta.cslist
  • Now Voxta Virt-a-Mate Plugin is added
  • Open Custom UI in Plugins tab to access settings
  • Check that status is “Connected”
  • In Chat Parameters, select Scenario and/or Character for the right Person Atom
  • Activate Voxta

Lip sync & eye movements

Your character can now speak, but the lips won’t move.

Enable lip sync in the Person atom, in Auto Behaviors, Lip Sync, Enabled. You could also add a few plugins to make the character more alive, like Glance for eye movements for example.

Adding actions and animations

You can use Action List Manager to add actions and animations to your scene inside Virt-A-Mate, or you can use the Scenarios feature to make advanced integrations. The guide below uses that second approach.

Configuring a scenario for your scene

Go in the Voxta UI (not in VaM) and go to Scenarios on the left. From there, create a scenario, select “Voxta.VirtAMate” in the App field. You may also want to enable Explicit Content.

We’ll look at actions (which is when the AI decides what animation to play when the character speaks) for now.

To add an action, go to the Actions tab and create one, for example “sit_down”. Write a prompt, for example “When {{ user }} asks {{ char }} to sit down”, and click the “script” effect. Here’s a simple script that plays a Timeline animation:

import { chat } from "@voxta";

export function trigger(e) {
  chat.appTrigger('Action', 'Person', 'plugin#1_VamTimeline.AtomPlugin', `Play anim1`);
}

Note that you can trigger anything you want, not only Timeline animations! See App Triggers for more information.

You can also trigger actions from VaM using the Voxta Plugin’s TriggerMessage and send something like /event {{ user }} touched {{ char }}'s shoulder or /trigger my_event_name to instead trigger an event.

You can also inform the AI of what is happening in VaM using Contexts. Go to that tab and you can write something like “{{ char }} is standing up”.

To make actions and contexts conditional to the state of the character, you can use flags. For example, either using Voxta Plugin’s SetFlags or by using the set flags effect of Actions, you can set a flag like is_sitting and make the actions and contexts conditional to that flag. Look at the Flags documentation for more information.

Publishing your scene

Look at the VAR Packages page to learn how to release your scenes along with your custom scenarios and characters to everyone!