If you have followed the patch notes, or maybe even have opted in to the Holodance beta branch, you have already seen Release 55.r1 and Release 55.r2 which only went into the beta-branch. We had also posted a more in-depth discussion of the current changes on /r/Vive: Holodance Update 55.r2: Major performance improvements ... and, more technical, on /r/gamedev: VR Performance Optimizations using Unity 5.3/5.4 (developing Holodance).
So now, with Release 55, we're finally pushing those changes to the default-branch for everyone to play with. We hope, of course, that this will go all well, because we've moved from Unity 5.3.5 to the current beta of Unity 5.4 (beta 24) and it was a fairly rough ride (last thing we saw of beta 23 was that Unity crashed when we tried to open the project ... fortunately, beta 24 fixed that ;-) ).
Release 55 also brings quite a few more changes compared to the previous two releases. As always, here's the release notes:
- Upgraded to Unity 5.4 beta 23, updated Image Effects (these seem to have quite a few fixes)
- Fixed companion Window UI (it did not react to any mouse actions since porting to Unity 5.4 beta 22) by switching from "Screen Space - Camera" to "Screen Space - Overlay" ... which is probably better for the companion Window UI, anyways ...
- Now starting up with a very simple companion Window UI; the old companion Window UI can be activated by clicking "Activate Full UI" - this is to prevent the cluttered UI to appear when YouTubers start the game from within SteamVR while already recording (or forget to switch to the Streamer Mode)
- Fixed issue with "Start Game Fresh": The game got stuck without loading Level 1 after the restart. This was introduced with the new level loading. The issue was that we tried to load the Level 1 environment before loading of the main level was completed.
- Fixed "DismissButton": The "mouse over" did not work anymore after the update to "The Lab Renderer"; now using two different materials instead of simply two different colors
- Removed 3Dception from project; we'll eventually replace this with another 3d-audio solution
- Fixed issue with impact particles: Turbulence no longer worked; this was a wrong setting in "Turbulence Thread Method": We had "One For All" (to save allocations), but that broke turbulence ... those were just about 100 bytes per frame, so we'd rather have the allocations than broken particles
- Added a pool for the particle effects which creates huge savings when triggering the particle effects, both when it comes to allocations as well as frame time (130 kB allocation on instantiation, and 5ms in one frame, plus even more allocations in subsequent frames, as well as additional CPU overhead). This is another huge improvement for performance (when you had particles active). Unfortunately, scaling the particles based on time / impact and so on also incurs quite an impact on performance, so we have removed that feature for now (you'll be able to switch this back on via the settings later)
- New voice-acting for Vayusah (for all levels - but we still only have him in Level 3)
- Improved automatic player height check. This now checks frequently again, when you're not in a session and also filters out looking up or down. The problem with checking repeatedly during sessions was that you usually don't start straight while playing, so this caused the game to think you're smaller than you are, resulting in orbs coming in lower, resulting in you having your head lower, resulting in the game thinking you're even smaller. You get where this went. Fixed
- Changed level progression: Levels 1 and 2 have no "movement" of the target area, only rotation (Level 1 has very little rotation, Level 2 quite a bit). Level 3, on the other hand, has little rotation, but plenty of movement. This seemed necessary after seeing several people playing the game for the first time, that didn't get that the curved target area (this "raster" in front of you) is where they need to catch the orbs. Eventually, we'll have an improved tutorial that covers this but for now, the adjusted level progression should help make this easier to understand. Levels 10 and 11 are now super-intense in the regard.
- Restored Curved Target Area in tutorial (it was actually there - but invisible due to a fix we recently applied)
- Added audio ambiences to levels 2, 3, 5, 6, 7 and 10. These will still be improved upon. Improved audio ambience of level 1 a little
- Fixed Lighting in Level 1 (the light was coming from the opposite direction where the sun actually was). This was nasty because of the terrain shader we're using (Relief Terrain Pack), which made it look like the light was now coming from the wrong direction. Can't wait to replace this with something less weird.
- Made transitions between environment audio ambiences and music slower to make this more comfortable (it was rather abrupt before). We still have abrupt audio-stops when loading levels; that will eventually also be fixed.
- Update to Unity 5.4 beta 24 because project crashed on startup in Unity 5.4 beta 23 (after one crash while working on the project)
- Fixed broken Screenshot feature and added this to "Streamer Mode" (it's the lowest button on the right panel). Watch out: When you activate those screenshots, you get one every three seconds. These are dumped right into the game's data folder. We have a much better screenshoot tool on our to-do list, this is actually more for internal purposes and completely unpolished ;-)
- Tried switching to DirectX12 - but the game immediately crashes on startup when built for DirectX12 ... will try again later (DX12 should give us another rather significant performance boost ... just like single-pass stereo rendering ... if they'd only properly work ;-) )
- The head orb location is now always adjusted to your actual height, so it's now also safe to change the curved target area anywhere and you'll still get the orbs meant for your head right where your head is. Don't worry about the "head orb" in Finetuning, we just didn't disable that before pushing that build online.
- Starting / stopping ambient audio in environments before fade-in / after fade-out
- Fixed "double curved target area" in Level 10 (or 11, not sure, tbh)