This Unreal Engine plugin is verified to work with projects using Unreal Engine versions 5.2
and 5.3
.
If you have any questions or need a hand, please reach out to us at hello@charisma.ai!
Important: Before setting up the Charisma Plug-N-Play for Unreal Engine, you’ll need to have created a Pro story (not a Starter story!), which requires a Charisma licence. Please visit the licencing docs on our website for more info!
-
If you haven’t already, go ahead and create an Unreal C++ project. Make sure you are using a version of the engine that is supported by this plugin.
-
Make sure to install the Charisma Unreal SDK in order to enable the Plug-N-Play plugin to work.
-
Head to the Releases page of this GitHub repository and download the latest release. Unzip the contents into the
/Plugins
folder located at the root of your project. If this folder doesn’t exist, create it! -
Plug-n-Play uses Oculus LipsyncOVR package to manage humanoid character lipsyncing. This package can be downloaded here: LipsyncOVR for Unreal Engine. Install it in the project the same way as with the SDK and Plug-n-Play
-
Close the Unreal Engine editor, regenerate UProject solution, and rebuild the project in Visual Studio. If you have problems building LipsyncOVR, consult the Troubleshooting section at the bottom of this page.
-
When you next open the editor, verify the plugin loaded correctly by navigating to
Settings -> Plugins
and locating the Charisma plugin. It should look something like this:
- You can now start using Charisma in Unreal Engine! 🎉
Please refer to our SDK Documentation page and Unreal Tutorial series for more information on how to setup and use the Plug-N-Play for your stories!
In order to be able to use microphone/voice input, you must modify the DefaultEngine.ini
file at the project level.
You can find this configuration file under PROJECT FOLDER -> Config -> DefaultEngine.ini
Inside this config file, add these lines to enbable microphone and voice input:
[Voice]
bEnabled=true
[SystemSettings]
voice.SilenceDetectionThreshold=-1
voice.MicNoiseGateThreshold=-1
[OnlineSubsystem]
bHasVoiceEnabled=true
You may come across various build issues when building the LipsyncOVR package. This is because the plugin was built for older versions of Unreal Engine, and some variables and method calls need to be updated. Here are the common steps for fixing the issues for UE version 5.2 through 5.4:
- Remove lines 26 and 27 from OVRLipSyncLiveActorComponent.cpp
#include "AndroidPermissionCallbackProxy.h"
#include "AndroidPermissionFunctionLibrary.h"
- Replace instances of
#include "Classes/Sound/SoundWave.h"
with#include "Sound/SoundWave.h"
- Replace instances of
#include "Classes/Components/AudioComponent.h"
with#include "Components/AudioComponent.h"
- Replace instances of
#include "Classes/Components/SkeletalMeshComponent.h"
with#include "Components/SkeletalMeshComponent.h"
-User error: Default device is no longer supported; ue will automatically grab the closest mic device if you provide an empty string- Replace
#define DEFAULT_DEVICE_NAME TEXT("Default Device")
with#define DEFAULT_DEVICE_NAME TEXT("")
- Replace
- Replace instance of
#include "AssetRegistryModule.h"
from OvrLipsyncEditorModuleto#include "AssetRegistry/AssetRegistryModule.h"
- Replace instances of
#include "Voice/Public/VoiceModule.h"
to#include "VoiceModule.h"
- In OVRLipsyncEditorModule, change the line
CreatePackage(NULL, *SequencePath);
toCreatePackage(*SequencePath);
- In OVRLipSyncEditorModule.cpp change line
if (SoundWave->InitAudioResource(AudioDevice->GetRuntimeFormat(SoundWave)))
toif (SoundWave->InitAudioResource(SoundWave->GetRuntimeFormat()))
- To fix LogOvrLipsync errors:
- Add line
#include "OVRLipSyncModule.h"
to line index 27, inOvrLipsyncLiveACtorComponent.cpp
- Add line