New 2.02 output ports feature on PC?

We’re interested in dynamically routing different events to different sound devices on a computer. For example general audio to the default sound device, radio communication to a secondary sound device; but only if the user has the hardware available and enables the feature. Is there any way to implement that using the new 2.02 output ports features? All I’ve found on the documentation refers exclusively to the Playstation platform. Thanks!

1 Like

Nice idea. What are the “new 2.02 output ports features” you mention?

Yes.

The list of port types supported by each platform is available in the platform-specific documentation for each of those platforms, as well as in the Port Buses section of the Mixing chapter of the FMOD Studio User Manual, and your game’s code can detect which devices are physically present and enabled in a player’s setup. You can use this information to control your FMOD Studio project’s behavior, and thus achieve the behavior you described.

By default, if a signal is routed to a port bus, and that port bus’ port type is not valid on the current platform, the content is instead routed into the project’s master bus. You can of course change this by using sends, snapshots, and automation to alter which signals are audible and how they are routed.

Thank you @joseph! I downloaded the Windows SDK but I couldn’t found what port types are available on this platform, and how does FMOD know which port type to map to which audio device. I couldn’t find any examples either, except for the multi system example, which I was already aware of, but it doesn’t solve my issue.

FMOD knows which port type to match to which audio device by using the platform specification: Each console has specific devices that it supports and specific ways of addressing those devices through the console’s operating system, and each port type knows how to address the platform-specific devices it’s associated with.

The desktop platform, however, has no fixed specification: Two PCs running the same operating system might have completely different hardware and peripherals. As such, there are no port types that can be used to address specific hardware devices on PC.

Game Core on Windows does support the “Music” and “Copyright Music” port types, so if you’re developing a Game Core game for windows you can use those, but PC applications cannot otherwise benefit from ports.

As I mentioned in my earlier post, the information about which platforms support which ports can be found in the Port Buses section of the Mixing chapter of the FMOD Studio User Manual.

That was exactly my question.Thanks.

Looking into this for the current version of FMOD Studio, once ports are assigned to the relevant platform, can the events be auditioned or previewed in FMOD Studio before building to platform, on the associated hardware controller? Is there somewhere to assign this in FMOD?

i.e.
Master Bus, Stereo Speakers
Port 1, PS5 Haptic
Port 2 , PS5 PS5 Controller Speaker

As I mentioned above, if a signal is routed to a port bus, and that port bus’ port type is not valid on the current platform, the content is instead routed into the project’s master bus. This means that you can audition events in FMOD Studio prior to building.

It is theoretically possible to audition events that have not yet been built into banks on specific hardware controllers by using live update to connect to device over the network while ‘synchronize changes when connecting to game’ is enabled. However, this would require your game’s code to include API calls to play the unbuilt events, and those would be tricky to set up without building the events; it would be far easier to build the events into banks normally.