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.