Skip to main content

Project Example

This example project demonstrates how to use the VoiceCulture plugin in a real-world scenario.
It includes UI widgets, sample localized assets, and a clear separation between Game Language and Voice Language.

If you haven't downloaded the project template yet, you can get it here:

Download Example Project

To test the UI, open the map Map_VC_VoiceOver_Example (if not already open).

Screenshot

Game Language vs. Voice Language

The system keeps Game Language and Voice Language separate, allowing for more flexible localization workflows.

Clicking the "Play current voice language" button in the UI plays the LVA_MAX_Hello_L01 asset.
This voice asset only includes "fr" and "en", but no "jp" version — making it ideal to demonstrate culture validation and fallback.

In the W_VC_TestCurrentVoiceOver widget:

  • You can see how to validate if a USSVoiceCultureSound asset has an entry for the current voice culture.
  • It also shows that you can use standard UE functions like PlaySound2D to play localized voice lines.

Screenshot

W_VC_VoiceOverSelector Widget

This widget demonstrates how to:

  • Dynamically switch the voice culture using a combo box
  • Populate the list of supported cultures from the plugin settings
  • Optionally save the voice culture to an .ini file (when bPersist is enabled)

OnOptionSelected (called when user selects a culture)

Screenshot

PopulateOptions (method override to fill combo box options)

Screenshot

ResolveDefaultSelection (used to highlight the current culture)

Screenshot

Note

W_VC_VoiceOverSelector inherits from W_VC_ComboBox, which is shared with the Game Language selector.
This allows reuse of common logic and avoids duplicating Blueprint code.

W_VC_GameCultureSelector Widget

This widget uses the same logic as W_VC_VoiceOverSelector, but modifies the native Unreal Engine Game Culture.
It changes the game language without affecting the voice language.

Conclusion

This project template is provided to help you:

  • Understand how to structure game/voice culture independently
  • See real examples of how to populate and switch cultures in UI
  • Experiment with the plugin using sample assets and code

Depending on your own game setup, you may implement these concepts differently.
Examples:

  • Store the selected VoiceCulture in your UGameUserSettings
  • Integrate VoiceCulture into Epic’s GameSettingsRegistry (e.g., Lyra project setup)

You are encouraged to adapt the logic to your own systems.