TEMPLATE NAME: Audio Manager Tools
CORE VERSION: 1.10.3
TEMPLATE VERSION: 1.0.0
Create Simple and Complex Background Audio for your games, by dragging and dropping Templates, Scripts, Audio Tracks and SFX. Honestly no coding required!
Undefined, I want to get feedback before making further decisions.
Current Ideas: Audio management without using Triggers, Event driven Audio Management, Resource change Audio Management
TEMPLATE VERSION NOTES:
1.0.0 - Initial Release
Link to the video tutorial: How to add Audio to your Core Games? Or improve it? - YouTube
Please leave any feedback, future additions, or any bugs/problems you’ve had in the comments below.
- Example Setup
- Tutorial: Setup your own trigger
- Bonus: One Shot SFX Audio Triggers
This community content was created to provide an easier implementation of background audio to your games.
It’s a drag and drop system, with no need to know any Lua.
However, even though it’s a simple setup there's a lot you can use this for.
Once you’ve downloaded the community content you’ll find it in the Project Content Folder, under imported content.
Next, click and drag the Example Background/Environment_Audio_Triggers template into your hierarchy.
Note: it should appear at Transform: Position at 0,0,0
Next, let’s press play at the top of the editor.
Once in preview mode run around the small area, testing out all the different triggers.
Red Cube Trigger - Western Themed Background music
Green Cube Trigger - Forest Background music
Blue Projection - Space background Music
That’s the quick setup using the example template, in the next section we’ll look at setting up your own trigger and background audio to work in your own game creations.
TUTORIAL: SETUP YOUR OWN TRIGGER
First let’s go ahead and delete Example Background/Environment_Audio_Triggers from the hierarchy.
Now drag in the Template Background/Environment_Audio_Triggers template into the hierarchy.
Open up the folders in the Hierarchy until it looks like this
(The folder structure is very important for the Audio Manager/Triggers to work correctly. If you are choosing to use this CC as your Background Audio Manager ensure this folder structure stays the same, however feel free to change the names of the folders/core objects.)
- This is the parent object, it’s only role is to house the background audio triggers and audio tracks with a name you’ll recognise in your hierarchy.
- Any children of this folder are Client based only (note this Background Audio Manager is currently only setup to work on the client side)
- This folder is housing each Triggers Audio Tracks
- eg. Found in the “Zone_01_Trigger_AudioTracks” is all the Audio Tracks the “Zone_01_Trigger” needs access to.
- From here you can also access the audio properties of an Audio Core Object.
- This core object is a trigger not a folder
- It is the parent object of the scripts used to manage the background music for your game.
Create a Template
Right-Click the Template Background/Environment_Audio_Triggers and select “Deinstance this Object”.
Now let’s change the name of the folder to Background Audio Triggers
Then Right-Click the folder to Background Audio Triggers and select “Create New Template From This”
Great, now that we have created our new template we won’t make changes to the template called Template Background/Evironment_Audio_Triggers
Zone Audio Trigger
Open up Zone_01_Trigger
You’ll notice 3 different scripts:
- SFX Audio Trigger
- Zone Audio Trigger
- It’s vital for the trigger to contain at least one Zone Audio Trigger script.
- It’s vital for the trigger to contain this last one(And only one).
- Cube (isn’t used for anything other then visual representation when in game, you’ll likely want to remove this before publishing your game)
(I recommend looking through each scripts properties. You can hover over the property name for a tooltip of what each property does.)
Now go ahead and delete duplicates of each script, only leaving one script of each.
Note: You may need to select “Deinstance and Delete” if the pop up appears.
The trigger and it’s children should now look like the below image.
Save (ctrl + s) and preview trigger in play mode ( = ), making sure there isn’t any errors.
Edit the Audio:
Now let’s change the audio to play.
Open up the folder called All_Music_Tracks_Folder
Then open up the folder called Zone_01_Trigger_AudioTracks
Now go ahead and delete all the audio tracks in this folder.
The folder structure should now look like this.
Now that all the audio tracks are deleted let’s add our own!
Go to Core Content > Audio > Ambience Backgrounds
Click and drag the selected audio track into the folder Zone_01_Trigger_AudioTracks
For this example I’m going to use Ambient Dark Breathy Cave Dungeon Loop 01 SFX
Once the Audio track is in the folder head down to it’s properties and untick the following bools; “Enable Spatialization”, “Enable Attenuation”, “Enable Occlusion”
The properties should now look like this
Now that we have an Audio Track in the folder, we can now reference this Audio Track for use in the Zone Audio Trigger script.
Click and Drag the audio track into the property called “Track_To_Play” on the script, and tick the bool “Loop_Track”.
One last thing before we press play and test.
Let’s go ahead and delete the SFX Audio Trigger we won’t need it for now, then press play and test out our trigger.
It should now play Ambient Dark Breathy Cave Dungeon Loop 01 SFX once entering the trigger.
NOTE: You may notice a delay, if we look at our property “Wait_Seconds_BeforePlay” on the Zone Audio trigger, you’ll notice it’s set at 5. Let’s go ahead and make that 0.
Save and then press Play to test again.
It should now play immediately.
SFX Audio Trigger
We now have a background ambience sound for our game, but let’s make it a little more interesting.
On entering the trigger let’s play a SFX or stinger.
For this example i’m going to use the SFX Creature Ghost Breath 01 SFX
Add the audio track/SFX of choice to the folder called Zone_01_Trigger_AudioTracks, then edit its properties if needed (I recommend unticking the same bools we did previously)
Now let’s go edit the properties of the SFX Audio Trigger script found in the Zone_01_Trigger
However we did just delete this, so instead we need to drag the template called SFXAudioTrigger_Template into the Zone_01_Trigger core object.
Once it’s in there you’ll notice its text is red, we want to right click the core object and deinstance.
Then change its name to SFX Audio Trigger.
And finally click and drag the Audio Track/SFX you want it to play into its “OnEnter_SFX” property.
Save, press play and test your audio trigger.
It should now play the audio track/SFX that you placed in the “OnEnter_SFX” when the player enters the trigger.
Congratulations you’ve set up your own Audio Trigger using this Community Content!
From here on I highly recommend checking out the Example Template again to see how I’ve set up some of those Audio Triggers, the Western trigger is most complex while the space station is most basic.
I have also implemented it already in my core game “Lumberjack Valley” which you can check out here:
BONUS: One Shot Triggers
Overview: One shot triggers are used to play a single SFX/Audio Track, it’s best use is for objects that shouldn’t be heard all the time. For example stepping on branches, in a puddle, a trap, etc…
They’re self contained in one trigger to keep it as simple as possible for use in your games.
Here is the trigger structure/example.
I recommend exploring this trigger to understand how to set it up.
I hope you find this Community content useful in your game creations, also please leave any feedback, bugs or what you’d like to see added to this community content in the comments below.