Details
Description
The sound system plugin is used to manage any audio resources and operations in a project. It also supports working with other sound systems so multiple sound systems can be used in the same project. The system offers many different features for playing SFX and Music while it also contains many extra features for customization.
The system offers many different features for playing SFX and Tracks in both 2D and 3D while it also contains many extra features for customization. These features include commonly used audio features such as Volume and Pitch Randomization which allows the user to easily create a lot more variation using the same sound by simply playing with the values in the SoundEntry Asset.
A OneShot mode is available for SFX which allows the user to play an SFX that doesn't get replayed unless the previous one has finished. This is useful for quick SFX such as gunshots. When it comes to Tracks, the system allows the user to create a Fade In/Out and specify a curve and duration for it. This is commonly used for music tracks and such. Track Controls are also provided through the API which allows the user to Pause, Resume and Stop tracks at will.
Dynamic Audio Settings are also provided through the API which allows the user to control SFX, Track and Master volume levels that are used for all playing audio. Changing these settings in real-time would affect all currently playing audio as well. These audio levels can easily be attached to any GUI sliders to create audio sliders.
The sound system performs operations using SoundEntry assets which serve as specifications for the system detailing what sort of operation the user seeks. The SoundEntry is easily created and customized using an editor in engine. It provides straightforward options for controlling what sort of operation should the sound system perform using the asset. SoundEntry assets can be grouped up using a SoundEntriesBundle asset which helps keeping assets organized.
All the settings are organized and filtered under different tabs in the editor. Tool tips are also provided for each of the settings detailing their purpose and any noteworthy information for the user to know. Certain settings will also not appear unless specific conditions are met. The FadeIn and FadeOut tabs will not appear unless the IsTrack box is checked cause only tracks are allowed to use these features.
All the features of the sound system are accessable using the thoroughly documented C++ API or by using the API built primarily for Blueprints only users. All features are available to use in both C++ and Blueprints with no downsides to either. The same level of documentation and organization also applies to the SoundEntry asset and the SoundEntriesBundle asset although they are meant to be used through the editor for best user experience. If a more thorough documentation is required, the official documentation of the plugin is available. It goes through all features of the plugin in great details with an example on how to use the plugin.