Yeah, that wiki page is a bit out of date. You'll notice it mentions downloading "FMOD Designer". That is the older tool, which does produce fev and fsb files. FMOD Studio produces only bank files and a "strings.bank" file. The version of Studio I used was 1.05.14.
For Studio, you would create sound banks for your files, categorized however you wanted. I never put sounds in the master bank, and am not sure if that works. I just created other banks such as "UI" or "TutorialGeneral", and then created the appropriate sound events and assigned them to those banks. Once the project was built, I used the repo browser to upload the following files all to the same folder (I just used the "Audio" folder):
Master Bank.bank
Master Bank.strings.bank
UI.bank
TutorialGeneral.bank
etc...
Attached are some reference pics. You can see I created the UI and TutorialGeneral banks. Since I plan to have other tutorial banks I created a folder for them, with only one in it now. On the Events tab, I also grouped events for the sake of organization. The organization of Events is independent of the structure used for the banks, but it is important to note how the
events are organized when referencing them in-game. Then I assigned the events to the appropriate bank (you can select more than one at-a-time to assign them en masse). The fourth and fifth pics are a bonus showing the Mixer window and how I created sound Busses, e.g. Voiceovers, and assigned some events to them. I
think these busses are the equivalent to "Categories" used in FMOD Designer, but I have not yet gotten them to work in-game.
Then to use them in-game, I reference the specific bank file, such as TutorialGeneral.bank using the full file path (Audio/TutorialGeneral.bank), and also the
Event Path within that file which I want to play. For FMOD Studio bank files, the event path string must have a format like this:
event:/eventname
It will not work without "event:/" at the start. If the event is organized into folders, like I did in pic #2, it would be something like this:
event:/Tutorials/General/LINE02
AND they must be FORWARD slashes. I just determined that from experimentation. That format does not apply if using Designer-created fev files. For them it would be just "Tutorials/General/LINE02".
Finally, to actually play them, there are a few options:
You could create a sound node in an Edit instance of an area (Create-->Audio-->Load Audio, then Create-->Audio) and set its Event Path via Properties Panel.
You will also need to set the _audioPitch property to 1 for it to play properly. That approach would be for some permanent sound of an area, maybe to have some background music playing as soon as a player enters it, or to locate sounds of torches or birds nearby where their models are. Whether a sound plays as a postioned 3D sound, or a non-positioned 2D sound has to do with the settings of that event in the FMOD tool.
For dynamic playing of sound, you would use either the FX system, or call manually to the $SOUND system node (client-side), or some custom solution of your own. Studying the SoundClassMethods script can give you an idea of how it works: it uses the
Prop Bucket system to create an HBNode that only exists on that client, so only the local client would hear that sound.
The catch is that the Sound system node code is incomplete. You can see it never specifies the Event Path, so it does not work as-is for FMOD sounds. In fact, the only place in the standard code that the "EventPath" field is ever set is in the FX system file _FX3DSoundFMODClassMethods. In SoundClassMethods function SetNewSoundSettings() it sets things like Volume and others. That is where it should also be setting the EventPath. So you could either edit that file or create an override of much of that file's code in a script glommed onto the $SOUND system node, which is what we did.
I won't get into the particulars of what we did as we ended up with a pretty serious overhaul, but basically when calling the method you need to specify the event path along with the file resource, and then use that to set the "EventPath" field on the HBNode.
Using the FX system might be easier in the short term.