Well here we are. When I started working on the game back in 2019 I thought split audio would be trivial to implement. After all, we already have split video in VR, which makes local asymmetric games possible, right? Right. [img]https://clan.cloudflare.steamstatic.com/images//42158802/9c1d35059dce14ea7d0ed14faf122f90a08fb1b8.png[/img] [i]Watch out, there's a Mandrillian right behind you! Oh no! The Robot can't hear us! It's using the new Hybrid Split Audio System on his Escape from Mandrillia-branded gaming headset![/i] [h2]A BRIEF HISTORY OF SPLIT AUDIO PAINS[/h2] As most of you know, until now Escape from Mandrillia had shared audio between the VR and PC players. This is a limitation of Unity, and there is no real way out of the box to route different listeners through different devices (hell, Unity doesn't even have multiple listener built-in support for stuff like split screen games) This created an obvious issue. If the VR player (Robot) audio was properly spatialized, the PC players (Mandrillians) could use sound cues like their own footsteps getting louder to basically echo-locate the VR player, which was not good. My solution up until now was to cheat as much as I could by making very flat fall-off curves for stuff like the Mandrillian footsteps. This made it pretty hard for the Mandrillians to pinpoint the Robot location, but it did make things feel... off for the Robot. Mandrillians that were half a mile away sounded the same as if they were right on top of you, which, while unnerving, was not very immersive. As a Mandrillian, you could still sort-of deduce if you had just run past the Robot if you were paying attention to sudden shifts in the sound panning. Now, I said Unity had no out of the box solutions for this. Turns out, this was technically possible by using industry-standard sound systems like FMOD or Wwise, which let you have multiple system instances routed to different devices. Documentation about it is scarce, but there are at least 3 local asymmetric VR games on Steam that successfully use this method. So, problem solved, right? Surprise! Valve's very own Remote Play Together doesn't give a crap about targeted devices, and will mix every single sound coming from the app and play it to the client(s). After a brief talk with Valve Support it was clear: this was a hard limitation, which meant that when playing over Remote Play, Mandrillians would always get both their sound AND the Robot's. I was surprised to notice that, indeed, the 3 games that use this system were actually giving the Remote Play PC player the sound of the VR character -it was just pretty hard to hear as these games were of the "giant VR player and tiny PC player" variety, which are better at masking this issue. This wouldn't happen when playing locally or using other programs like Parsec, which more closely emulate local play, so at this point I was considering either giving up or doing some sort of local-only/Parsec-only branch with the split audio when I had the game 100% finished, but that was not a great idea. So I decided to work around the Remote Play limitation just like I've been trying to work around the shared-audio limitation until now. By using SteamVR Audio Mirroring (just like you would have needed to do to play the game locally until now), the remote play "mixing" effect could be emulated, sparing me the need of doing 2 different builds. [img]https://clan.cloudflare.steamstatic.com/images//42158802/b9ffc6a5cde961ce9fe89dfbfd82b75b920b7104.png[/img] [i]This update comes with a complimentary audio-themed headwear cosmetic for the Robot[/i] [h2]THE HYBRID SPLIT AUDIO SYSTEM[/h2] The solution I've come up with is as follows: The VR player keeps the current Unity audio system, but with proper spatialization curves for sounds like Mandrillian steps and roars. The VR player is now able to properly hear the location of Mandrillians. The PC player(s) now have an FMOD system just for themselves that is meant to play on top of the VR audio (which also has the music, ambient sounds, loud noises etc). While they are "technically" hearing their footsteps getting louder when they get closer to the Robot, the system does a good job at masking this by having these sounds play at a constant (and louder) volume on their devices. It also allows for several "mandrillian-only" sounds, like the Robot's footseps actually playing louder when the Robot is sprinting near them, instead of that being just shown on the minimap as little blips. While this is not a perfect system, it's at least not any worse than the old shared-audio system, and it's undeniably more immersive and "logical" for the VR player. It's as good as it can get, and it lets me iterate on it incrementally without needing to fully remake the sound system from scratch. I also added some fancy stuff, like the Mandrillian noises in the Menu scene being muffled to the VR player... until the gates open. [h2]IS IT HARD TO SET UP?[/h2] If you're playing with friends over Remote Play, you just need to make sure this new setting is not set to the same audio device as your headset (or else you will also hear the Mandrillians' audio!). Remote Play will do the mixing for the PC players. You can use the "PC-ONLY SOUND CHECK" button to confirm you're not hearing monkey-only sounds (only PC players should hear the tone) [img]https://clan.cloudflare.steamstatic.com/images//42158802/e5e5222a768107e7869ad6f8e3c64aeb3fd7fc9a.gif[/img] If you're also playing with people on your computer, the setting should be set to whatever your friends are using (speakers or headphones), and you will need to enable "Audio Mirroring" on your SteamVR settings, selecting that same device as the mirror target. That's all. In any case, I also added a small pop-up that will appear (once) right in front of the VR player explaining the audio system. [h2]SO WHAT NOW?[/h2] I'm still processing the fact split audio is finally here. I don't expect things to work flawlessly straight away, so feedback is always appreciated, either in the Steam discussions forum or at the Official Discord that you can join by clicking here. As I mentioned on the last update, the next big thing coming up for the game is the Firing Range scene. This should be an easy one, and I have some cool surprises prepared for it, so stay tuned! [h3]FULL CHANGELOG[/h3] [list] [*] Added a hybrid split audio system to the game [*] Added a "Mandrillian audio device target" setting to the Main Menu, with a built-in sound check [*] VR Player now hear properly-spatialized Mandrillian footsteps, roars, etc [*] Mandrillians now hear properly-spatialized Robot footsteps [*] Mandrillians noises at the Menu scene now sound muffled for the VR player until the gate opens [*] Added new head cosmetic: headset [*] Added new cheat: [spoiler]EPIC-GAMER[/spoiler] that activates the cool gamer alt skin for the headset [*] Adjusted the speed you have to move to start making loud steps to roughly halfways between walking and sprinting speeds, to prevent situations where going 99% of the sprint speed would make you move silently [*] Fixed Player 2 armor pieces not playing ricochet sounds when getting hit [/list]