How can i disable UE delivered Subtitles?

So i imported a SoundWave into my project and defined some subtitles at it. Than i made my own system to print subtitles, but i can’t turn the Subtitles provided by UE off…
I tried it via Project Settings-> GeneralSettings->AllowSubtitles
but it didn’t worked…
Also if i try and set bSupressSubtitle in my AudioComponent to true it still shows them…
Do u have a solution for me?

Update with V 4.12:

Still can’t force them off, plus it seems like this system is changing the time in my Subtitles :open_mouth:

Hey nonimus,

Can you provide me with some steps so I can reproduce the issue on my end?

I need to know how you are implementing your own subtitles as well as the settings within your Sound Wave specifically. Screenshots will definitely help me reproduce the issue in this situation.

Let me know if you have further questions or need additional assistance.

Thank you,

Thanks for you help offer :slight_smile:

The own Subtitles is nothing more than a Blueprint Widget printed on the screen and filled with the right text.
This Text and the time is delivered through a USoundWave.(Pic.1)


These SoundWaves are arranged in an array.
Now my script figures the next upcoming subtitle out by comparing “Time” of all SoundWaves and prints it than… The access happens through

AllTalkers[NextTalker].MyWave->Subtitles[SubIndex].Time;
MyWave-Type USoundWave*
AllTalkers- Array with a USTRUCT including MyWave

Thats how it works, now the problems:

  1. WhenI’m playing my Wave via

UGameplayStatics::SpawnSoundAttached(AllTalkers[i].MyWave, AllTalkers[i].MyTalker->GetRootComponent());
I can get rid off the subtitles printed by another system… (Pic.2)


Those grey little chars… even they are displaying all at the same time…

I tried:
-Settings->ProjectSettings->GeneralSettings->SubtitlesEnabled(Wrong)/SubtitlesForcedOff(True) ---- No influence on the grey chars

  • Set bSuppressSubtitles true in the Spawned AudioComponent
  1. The “Time” changes
    After I play for a short amount of time and listen to the Audio the time updates itself and changes… (Pic.3)


Maybe i messed smth up in my code I didn’t recognize, but my only acces to that time variable comes from the upper mentioned snippet

Hey nonimus,

To start, I have submitted a feature request to have a bool value in AudioComponent exposed in Blueprint to turn subtitles on and off for that component UE-33303.

I also a solution for you, if you are running source. If you are not running the source, here is how to set it up:

[][1]

To start, you will need to create a BlueprintCallable function; I am using the GameMode to keep it.

[MyGameMode.h]

UFUNCTION(BlueprintCallable, Category = "Subtitles" )
void SetSubtitlesOn( bool bOn );

[MyGameMode.cpp]

void MyGameMode::SetSubtitlesOn( bool bOn )
{
	GEngine->bSubtitlesForcedOff = ( bOn ) ? 0 : 1;
}

You will also need to update a portion of the engine so it can alter whether or not the subtitles are showing because of bSubtitlesForcedOff:

[UE4/Source/Runtime/Engine/Private/Components/AudioComponent.cpp]

Current Line# 203 (could very well change):

NewActiveSound.bHandleSubtitles = (!bSuppressSubtitles || OnQueueSubtitles.IsBound());

Change to:

NewActiveSound.bHandleSubtitles = ( GEngine->bSubtitlesForcedOff ) ? false : true;

With this changed, save the AudioComponent.cpp file and recompile the engine.

Now, some warnings:

bSubtitlesForcedOff is exposed to a config file and the Project Settings in the editor. If you are anybody on the project changes this value in either the config file or Project Settings, it will mess with this setup. My suggestion is to leave the default value of it in the config / Project Settings to unchecked / false.

Hope this helps and good luck!

[1]: