Hi! I'm using the ActionList: Run action to handle all of my character's speech. Here's an example:
https://imgur.com/a/f6mQf82
I just realized that if I want to support translations, I should have been using Dialogue: Play Speech instead.
Is there any update on how to translate string parameters in cases like mine?
I already have tons of dialogue, so any guidance would be extremely appreciated.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
I'm afraid parameter text isn't translatable - you would indeed need to rely on a speech Action.
If I'm understanding you correctly, you used this approach to run Actions before/after speech plays, right?
Try this in a backup/duplicate project first, but you should alternatively be able to run these surroundings Actions by defining Speech: Start and Speech: Stop events in AC's Events Editor. That way, you can use a single Dialogue: Play speech Action in place of your ActionList: Run, and still have the other logic kick in.
If that works, then it would be a case of replacing the Action type. How many instances of this do you have? It's possible to print a list of all ActionLists that reference your "Show Player SpeechBubble UI" ActionList by choosing "Find references" in its Inspector's cog menu.
Thank you so much for your quick reply again! I’ll definitely dig into it.
I have a couple of follow up questions:
In my setup, I have slightly different sequences of ActionLists for each character. Can I have multiple Speech: Start and Speech: Stop events? If so, how do I distinguish which one should run for which character?
For the Speaker Type field, what’s the difference between 'Character' and 'Narrator'?
Thank you so much for your help.
There's no limit to how many events you can make - even of the same type.
In AC terms, Narration refers to a speech line that has no associated character to say it. The Speaker Type field lets you filter the event by whether or not a speaker has been assigned.
When set to Character, the event can set a GameObject parameter's value to that of the speaking character. This'll be done automatically if you opt to auto-create the associated ActionList.
You should then be able to use an ActionList: Check parameter Action to compare this value with your charactet objects, to filter out the logic that comes next only for specific characters.
If you need more control over such filtering, you can rely on script-based events, covered here.