Dialogue System for Unity 2.2.7 Released

Announcements, support questions, and discussion for the Dialogue System.
jrbourne
Posts: 32
Joined: Wed May 16, 2018 3:08 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by jrbourne »

Of course,... I forgot to get that asset... looks like the asset store and github have the same version (9.4).

Only one error which doesn't seem to cause any problems in running:

RenderTexture.Create failed: width & height must be larger than 0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by Tony Li »

That's probably not related to the Dialogue System. If you want to clean up that warning, look for assets that use render textures.
jrbourne
Posts: 32
Joined: Wed May 16, 2018 3:08 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by jrbourne »

Hi Tony:

I've been feeling pretty successful with the help you have given me on getting UCC/DS working! All the integrations seems to work just fine. Thanks! I hope you can help me with the following problem:

I tried the various examples with the integrations and got them all to work just fine. The Opsive UCC Dialogue Example was great - I could fairly easily create an example conversation in a database, and call it from Behavior Designer. By specifying the conversation in the BD startup on the player I could start the conversation. However, I got struck on putting an INK story in instead of the conversation that was in the database. I created a new database and called it INK Example database - just like in the Ink example Dialogue Integration example.. I created a ink system dialogue trigger script in my player and entered the Ink example database; however, when playing it (calling from BD) - it still referenced the old "conversation" in the original database.... I never could get the ink database to be recognized and play in my testing that mimicks the Opsive UCC Dialogue Example. I suspect I just don't quite have figured out how to reference the INK database scripts (I used story, js) in the proper way so that a call from BD starts the story up when the UCC is active.

Perhaps a simple list of the steps to convert from example "Opsive UCC Dialogue Example" scene which uses conversations with two characters (NPCs) but now with the conversation driven by INK instead would be a big help.

Many thanks in advance.

JOhn
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by Tony Li »

Hi,

Let's make sure the individual pieces work first.

1. In your UCC scene, set a Dialogue System Ink Trigger to Trigger: OnStart. Then play the scene. Does it play the Ink story?

If not, make sure the Dialogue Manager has a Dialogue System Ink Integration component with the story assigned to it, and that the Dialogue System Ink Trigger is set up to play the story.


2. If the Ink story starts, does it properly freeze the player by putting the Ultimate Character Locomotion component into the Converse state?

If not, make sure the component has a Converse state, and that the Dialogue System Trigger is configured to use the player GameObject as the conversation actor.


3. If #1 and #2 work, please let me know how you're starting the conversation in your original scene. A screenshot of your BD task would be great.
jrbourne
Posts: 32
Joined: Wed May 16, 2018 3:08 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by jrbourne »

Thanks for the help, Tony. I think I have it all working now. I started by add the Dialogue System Ink Trigger and Dialogue System Ink Integration to the Dialogue Manager. By adding an ink story to the Conversation in the Trigger I was able to do as you suggested and on start could run the story. Then, I wondered about ow to start the story from BD - what I did was to use a set property task on a behavior tree connected to my player. The property task was set to enable the component on the trigger (still attached) to the Dialogue Manager. That worked just fine.
Then I wondered how to move the ink trigger to my character (perhaps there is no reason to do this). That worked too and had the nice effect of disabling character movement. The character did freeze after moving the ink trigger to the character.
So far so good.

I am still confused about using the JSON asset in the ink integration. Apparently in the Ink Trigger one refers to story itself by typing in the story name in the Conversation slot under Start Conversation and then refers to the Ink JSON Asset of the story in the Dialogue System Ink Integration. There is a small dot which turn black at the end of the Conversation entry - I couldn’t find the purpose of the dot, but the whole thing works fine when it is pressed and turns black.

Lots more work to be done, but I’m glad to have all the parts functioning together. I see quit a few scripts that I haven’t used for anything, but am planning to see if I can figure out what they will do for me. The whole entry point object seems obscure to me - the DialogueSystemInkHelper appears to be just an empty frame - not sure why it is there - or what the InKEntrypointAttribute is there for?

Thanks much for all your help Tony. One last question - is there a better way to accomplish what I did with DS, BD, UCC and the integrations or am I moving the right direction now?

John
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Dialogue System for Unity 2.2.7 Released

Post by Tony Li »

Hi John,

The DialogueSystemInkHelper shouldn't have been there. It's not used for anything. I've deleted it in the next update of the Ink Support package.

InkEntrypointAttribute lets you show a C# string variable in the inspector as a dropdown of Ink stories and knots. Example:

Code: Select all

[InkEntrypoint] public string startStoryHere;
Where do you see the small dot?
Post Reply