Forum rules - please read before posting.

Gather Text Function in Speech Manager Not Gathering Speaker Info

edited January 2021 in Technical Q&A


We recently started looking into the gather text function of the speech manager in order to capture the speech text of all the dialogue cutscenes we've created in our various scenes. While it appears to properly capture all the Speech Text lines defined in the Action Lists in our scenes it doesn't appear that the speaker is being captured properly and thus all the gathered text is showing up as "Narrator" for the speaker.

I'm not sure if it's due to the way we have our dialogue cutscene nodes currently structured. Basically the way we have it setup is each cutscene node in our scene defines it's ActionsSource from an external AssetFile (i.e. the ActionList events associated with a given cutscene node are loaded from an external asset file that gets dynamically loaded into the scene at runtime).

Also the speakers assigned to the various PlaySpeech Events defined in our ActionList Assets are NPC nodes that exist in the actual scene. All the NPC nodes associated with a given dialogue cutscene node are also parented under the given dialogue cutscene node in order to keep each dialogue cutscene node self-contained

Is there some sort of hard limitation in how the Gather Text function determines the speaker of a given piece of speech text? Clearly everything seems to work correctly when we run our actual game (i.e. the dialogue cutscenes run properly, they correctly load in the external Action List assets, and they correctly identify the speakers of the given speech events). It just seems for whatever reason the Gather Text function of speech manager isn't able to properly determine the speakers with the way things we currently have setup with our cutscene nodes


  • edited January 2021

    The issue is that the speech Actions are assets, while the NPCs they reference are placed in a scene.

    The Actions themselves aren't aware of which scene the NPCs are in - only to attempt to find them (via the recorded Constant ID values) once their ActionList is run, which can be at any time - not only when the correct scene is run. During the Gather Text process, there's no longer a direct link to the NPC.

    To have an asset-based speech Action retain this link to the NPC (and thus be properly processed by the Gather Text function), you can either:

    1) Make each NPC a prefab, and have the Action refer to this prefab. So long as the NPC's Constant ID component has Retain in prefab? (so that his scene-instance shares the same ID value), the asset will locate the instance of this prefab present in the scene at runtime. This would be the quicker of the two.

    2) Convert your NPCs to Players, and rely on AC's Player-switching feature to list all your NPCs as Player prefabs. Inactive Players are treated like NPCs, and you can then select characters via a drop-down in speech/character Actions. You'd then need to remove your NPCs from the scene, and use Actions to set up their scene position - see this tutorial for more.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.