Making your NPCs compliant


To get your already existing NPCs to use the Accessilogue system, they need to implement the BP_INT_DialogueManagerCommunication blueprint interface. For an example on how to do that, you can look at the BP_ACT_NPC class in the example project file or in the code overview, where you will find a list of all responsibilities for the class. If you are creating your NPCs from scratch, you can just expand BP_ACT_NPC to fit your needs.

BP_MGR_Accessilogue handles most of the error handling, but the NPC class needs to do that for the animation playback because of the way the system is set up currently.

Integrate Accessilogue into your Settings


GI_Accessilogue contains all setting parameters for Accessilogue. Move this data to wherever you are saving your settings.

BP_INT_GameInstanceSubtitleSettings handles setting/getting all parameters for Accessilogue. Move this data to wherever you are handling your settings.

Implementing FMOD Audio Middleware


<aside> <img src="/icons/warning_brown.svg" alt="/icons/warning_brown.svg" width="40px" /> Do not attempt to integrate FMOD Audio Middleware into Accessilogue unless you already have a good understanding of FMOD Programmer Sounds & FMOD Studio.

</aside>

<aside> <img src="/icons/info-alternate_brown.svg" alt="/icons/info-alternate_brown.svg" width="40px" /> This guide assumes you have already setup and configured FMOD Audio Middleware for your Unreal Project. Please refer to the Offical FMOD Audio Middleware Unreal Documentation if you want to setup and configure FMOD.

</aside>

<aside> <img src="/icons/link_brown.svg" alt="/icons/link_brown.svg" width="40px" /> The Offical FMOD Audio Middleware Unreal Documentation can be found here:

www.fmod.com

</aside>

  1. Add a FMODAudioComponent to the BP_MGR_Accessilogue blueprint.

  2. Assign your FMOD event loaded with programmer sounds to FMODAudio.

Untitled

Untitled

<aside> <img src="/icons/warning_brown.svg" alt="/icons/warning_brown.svg" width="40px" /> The programmer sound names MUST match those of the line names contained within your Accessilogue Dialogue Table. Unlike the default .wav search approach, FMOD can not check if the programmer sound exists before it is loaded.

</aside>

  1. In SayDialogueLine() replace all logic after AddSubtitleAndCodex() and before NotifyScriptedInterruptActor with the logic in the @FMODSPECIFIC comment.

The approach used here is not a generic one, and will need to be tailored for each use case. The parameter logic set here is specific to one of our internal projects, and is not necessary unless you also have params applied to your FMOD Events.

As long as you have a method to get the correct actor for the speaker (whether an Accessilogue NPC or otherwise, you just need to implement logic that sets the programmer sound on the FMODComponent and plays it.


Untitled

Untitled