Search code examples
unity-game-enginesdkwatsonwatson-conversation

Watson Conversation API Unity SDK widget vs HTTP call


I'm experiencing inconsistent message responses with the conversation api using the unity SDK widget vs a standard HTTP call.

When testing my conversation bot within the Watson console's simulator or using Postman & hitting the message POST endpoint: /v1/workspaces/{workspace_id}/message I receive the desired response which hits my Anything_else "catch all" node with the appropriate output.text message.

When using the Watson Unity SDK to interact with my bot, specifically:

m_Conversation.Message(OnMessage, m_WorkspaceID, messageRequest)

Where I've tried to mimic my exact Postman HTTP body in that messageRequest

I never get to my Anything_else node or get the desired output.text. Instead Watson assigns it to the highest matching intent I see when passing up alternate_intents: true (which is a very low % match)

Any tips or suggestions would be greatly appreciated!


Solution

  • Update the Version of the conversation service in the Unity SDK. In the Conversation DataModel file, replace

    public const string VERSION = "2016-09-20";
    

    with

    public const string VERSION = "2017-05-26";
    

    In the upcoming 1.0 major release of the Watson Unity SDK the user will define the VERSION instead of having the version hard coded.