Voice intents bug when multiple Data Slots are used in one Voice Command

Unity Editor version: 2022.2.9
ML2 OS version: v1.2.0-dev2
MLSDK version: v1.2.0-dev2
Host OS: Windows

How to replicate:

  1. Load up the Magic Leap example for Voice Intents
  2. In Voice Commands to Add, add an element with any ID and a value Create a? {Color}? {Shape} . Note: I intend to allow the user to say either "Create a Red Cube" or "Create a Cube" to create a cube with a default colour.
  3. In Slots For Voice Commands, add two Slots named Shape and Color with any values.
  4. Build the app.
  5. As you trigger both voice slots on the example UI, take note of the bottom right of the UI where the Slots used are displayed. Although the command "Create a Red Cube" was recognized, the two Slots were displayed as: "Name: Color - Value: Red \n Name: Red - Value: Shape".
    This should instead be "Name: Color - Value: Red \n Name: Shape - Value: Cube".

image
Please excuse me for the lame screenshot, the button responsible for creating a Snapshot on the App Sim would constantly restart the Magic Leap 2 instead of taking a screenshot :smiling_face_with_tear:

Hi @pokemon,

Thank you for providing steps to reproduce. I'll go ahead and look into this and get back to you.

Thanks,

El

Hi @pokemon9757,

Could you please provide a screenshot of your Voice Intents Configuration Scriptable Object. This will help us further diagnose the problem.

Thanks,

El


Hi El,

Sure, here is one of my Configs

It seems that there about 10 slots for voice commands. Would you mind sharing the rest of them? This may help us further debug the issue. If there is sensitive information in those slots feel free to let me know if you can't share or directly message them to me to keep them private.

Best,

El

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 71122c582b923f04ab4f88f548a59fce, type: 3}
  m_Name: MMIVoiceIntentsConfiguration
  m_EditorClassIdentifier: 
  AllVoiceIntents: []
  VoiceCommandsToAdd:
  - Id: 0
    Value: '[Hi|Hello there?] | Greetings'
  - Id: 1
    Value: '[Create|Generate|Make] [a|an]? {Color}? {Shape}'
  - Id: 2
    Value: '[(Set|Change)? {Pronoun}? color to {Color}] | [Make {Pronoun} {Color}]'
  - Id: 3
    Value: Delete|Remove|Erase|Destroy
  - Id: 4
    Value: '{Action} Group|Grouping'
  - Id: 5
    Value: '{Selection}'
  - Id: 6
    Value: '[Scale {UpDown} by? {Percentage} percent?] | [Make {Pronoun} {Percentage}
      percent {UpDown}] '
  - Id: 7
    Value: '{OnOff} UI'
  - Id: 8
    Value: '{OnOff} lock'
  - Id: 9
    Value: Open|Display menu? {MenuName}
  - Id: 10
    Value: Help|Assistance
  AutoAllowAllSystemIntents: 0
  SystemCommands: 2008
  SlotsForVoiceCommands:
  - name: Shape
    values:
    - Cube
    - Sphere
    - Capsule
    - Cylinder
  - name: Color
    values:
    - Red
    - Green
    - Blue
    - Purple
    - Green
    - White
    - Grey
    - Black
    - Orange
    - Yellow
    - Pink
    - Brown
  - name: Boolean
    values:
    - True
    - False
  - name: Percentage
    values:
    - 10
    - 20
    - 30
    - 40
    - 50
    - 60
    - 70
    - 80
    - 90
    - 100
  - name: Action
    values:
    - Begin|Start
    - End|Complete
  - name: UpDown
    values:
    - Up|Bigger
    - Down|Smaller
  - name: Selection
    values:
    - Select
    - Deselect
  - name: OnOff
    values:
    - On|Enable
    - Off|Disable
  - name: MenuName
    values:
    - Overview
    - Controls
    - Status
  - name: Pronoun
    values:
    - that
    - this
    - it

No problemo. I couldn't send the .asset file directly so here is the content

Hi @pokemon9757

I am unable to reproduce this on my end using MLSDK v1.3.0-dev2. Would it be possible to update your MLSDK version and see if that fixes it. I did use the file that you provided to test as well.

Best,

El