Bink Subtitles not working

Hello there!

This question is essentially a duplicate of [this closed [Content removed] which was closed without a satisfying answer.

I did the same steps as described in that question and got the same result, subtitles are not displayed.

I did some debugging to narrow down the issue:

In UBinkMediaPlayer::Open, the subtitles file is found and loaded successfully, CurrentHasSubtitles is set to 1.

When the subtitles are supposed to be displayed in UBinkMediaPlayer::Tick(), the while condition in line 519, while(const char *sub = BinkPluginCurrentSubtitle(bnk, &i)) never becomes true, so the subtitles aren’t added. At this point I had to stop debugging because BinkPluginCurrentSubtitle() is part of the pre-compiled bink binaries.

Any advice or information on this is welcome.

On a sidenote, I noticed that BinkforUnrealEngine.pdf located next to Bink2ForUnreal.exe outlines the steps needed to add your own subtitles. Is this the recommended way anyway?

Steps to Reproduce

  1. Enable the bink plugin
  2. Create bink file using Bink2ForUnreal.exe and place it in the Content/Movies folder.
  3. Create an .srt file next to it with the same name (I’m using the example from Wikipedia: SubRip - Wikipedia).
  4. Create a bink Media Player in Unreal, set its path to the previously created bink file.
  5. Set the Bink Draw Style of the player to Overlay Fill Screen
  6. Set a subtitles font in the project settings
  7. While the bink Media Player is opened, start the PIE mode
  8. The bink file is played in the PIE viewport, without subtitles.

Can you send me an example project? Did you use the proper language extension?

Hi, you can find an example project attached. It’s using 5.5.4. From looking through the release notes, I don’t think 5.6 would behave differently.

To test it, open the Bink Media Player in Content/Movies and start the PIE mode.

In the meantime, I did find the subtitles:

[Image Removed]They are displayed, but not visible because the bink video is rendered on top. When adjusting the viewport size, the video is hidden, and the subtitles become visible. I don’t know how the order in which video and subtitles get drawn can be adjusted, but I don’t think the current order is intentional.

I think whats going on is there is a rendering order issue with Overlays. Thus for a quick work-around you could RenderToTexture instead and draw a quad with that texture.