Warning
This addon will no longer be in development and no support will be provided.
I recommended to use something else that has better support.
An addon for easily implementing subtitles using the built-in audio system in the Godot Engine.
For more helpful information and details refer to the wiki
If you already have some AudioStreamPlayer
nodes in existing scene trees, it is super easy to get them all set up for subtitles.
- Open the scene that contains the
AudioStreamPlayer
nodes that you want subtitles on - Go to Project -> Tools -> "Generate SubtitleData in Scene"
- This will add a
SubtitleData
node as a child to allAudioStreamPlayer
nodes in the scene tree
- This will add a
- The subtitle text/id is automatically populated with the name of your
AudioStreamPlayer
node, feel free to go through and change them to whatever you like- If you want to tweak more settings, refer to the SubtitleData Node page for more information
- Go to Project -> Tools -> "Attach Event Scripts in Scene"
- This will attach a script to all
AudioStreamPlayer
nodes in your scene tree that do not otherwise have a script attached. These scripts will allow the subtitles to work event-driven which greatly reduces the processing time for inactive subtitles (to roughly 0ms)
- This will attach a script to all
- Play your
AudioStreamPlayer
nodes as you normally would, and the subtitle with the subtitle text you set should display.
- Dialogue Subtitles
- Subtitles stack and snap to bottom of screen.
- 3D spatial subtitles
- Subtitles reposition to track the 3D node's position
There is a tool script for automatically converting an existing scene tree to one compatible with the subtitles system. Every AudioStreamPlayer node is given a SubtitleData child node which is what handles the passing of subtitle data
Because all subtitles use Godot's built-in Label
, they are all automatically translated using Godot's built-in Translation & Localization System
Every SubtitleData node has an option to have an overriding Theme
asset to affect the subtitle. They also allow for padding subtitle duration, changing what spatial position is used for the playing of audio. etc...
More details here at the Wiki page for the SubtitleData node