EDIT 2020-12-05: Just a tiny hotfix (1.4.1) because using finger pointing to control the YUR watch was broken; this is now fixed: You can control the YUR watch using your index finger tip but we needed to change how clicking works in the general UI because we needed drag'n'drop to work much better than it did for the beatmap editor (which is still WIP and not included in this build). That change broke finger pointing.
EDIT 2020-12-06: Another tiny hotfix (1.4.2): The scrollbars e.g. in Streamer Mode jumped when clicking. They no longer do. Also, opening Streamer Mode in VR threw exceptions in the logs until Streamer Mode was activated via the checkbox. No more exceptions are being thrown in that case.
LIV SDK 1.5 - Improved Streamer Mode
This is a really big one: In our Streamer Mode, you could let the game automatically switch the camera perspectives for you based on the rhythm of the song since around 2016. We even have an (undocumented) OBS-automation that lets the game switch between different OBS scenes so you could automagically switch between our Streamer Mode and a LIV-composited Mixed Reality mode.
One very awesome feature that LIV introduced with their new 1.5-SDK is that games can now control the LIV-camera. So now you can use Streamer Mode in Holodance together with LIV much more easily. Obviously, changing camera perspectives in LIV only works with their avatars (not with greenscreen composited Mixed Reality) - but still that's a major step forward.
While working on that, I got so annoyed that our Streamer Mode can only be controlled via the flatscreen that I finally pulled it into VR. Another item that got stuck on my list for way too long finally done*!
Here's a video of both in action:
*(file browser didn't make it into this release - but it's almost done now)
New Game Modes
Seems like every rhythm game had it since forever, now we have it, too: Life energy that you lose when you miss notes, and gain when you catch notes. The default in Holodance stays at No Fail but when you disable this, you can now fail sessions early when you miss too many notes. We also have Sudden Death for those who want to full combo a map. When that is active, the first note you fail fails the whole song, so you can retry a little more quickly.
One area where this new feature caused quite a few headaches was with modding: You can mod the post processing effects for the Arenas Trippy Tunnels and Zero Distraction. The result was that in those, there was no feedback when you were losing energy. This is now solved with a new state lowEnergy. For full documentation, check out the Holodance modding guide on mod.io.
Also, for proper support of BSMG-maps, we had added a uniform 4x4 grid a while back. Now you can select this also for osu!-beatmaps.
BSMG Mapping Extensions
Holodance doesn't have spatial quantization of events by default: Notes can arrive at any location, and with any rotation. So, we probably should have supported this right from the start but we didn't. Now we do. For more info, see Mapping Extensions and Extended Mapping.
Story Mode: Levels 3 and 6 - Dolphins and Whales
Story Mode Level 3 has dolphins and whales ... but up until now, you couldn't hear them. Now you can. Also in Level 6. But there, only few are left.
Scoring Bug Fixed
We have this really nice Time Dilation feature, that lets you play with time (slow down / speed up, based on the movement of your hands, and in the case of guns, also movement of your head). There's also bullet time on combo events. Obviously, it's much easier to do things when time is slowed down - so there's a multiplier based on the current time scale. Unfortunately, instead of using the audio pitch (which defines the timescale of actual gameplay), I used the global time scale. We have another feature that modifies the global time scale for very fast, and very slow tracks (above 180BPM and below 48BPM). The idea behind that feature is to make the visual effects adapt to the tempo of the song ... but this also had effect on the score. Ooops. Solution: Having the tempo of very fast (and very slow) songs effect the score actually makes sense, so we keep that as a feature. There were circumstances under which this multiplier was disabled - that's fixed, so now we have consistency. Also, the multipliers are now properly separated and named to avoid any confusion that could arise from this.
Patch Notes in Detail
- Settings / Finetune Gameplay: Added new Grid Style "Square 4x4 (BSMG Style)" so you can now play osu! maps with the same grid style (aka target area) as BSMG-maps.
- Feet Gameplay: Was broken. Fixed.
- Casual Catcher: Fixed a faulty offset in the collider.
- Major work in the backend that hopefully does not cause issues with the current builds (it's not active in those builds but you never know until you run into something unexpected).
- Fixed Vayusah - AGAIN. Breaks on every Unity update, so I have to make sure I fix that poor soul after every Unity update.
- Vive Trackers: Cleaned up the role setup.
- Scoring: Fixed issue with tempo based time multiplier triggering slow mo / highspeed multipliers.
- Scoring: We've had an orb theme multiplier that reduced the score for very large orbs (Casual Orb Theme), and increased the score for special mechanics like Beat Drop, which is significantly more difficult. But that multiplier never actually effected the score. Now it does.
- Fixed Challenge Me checkbox not being properly reset to unchecked after a map had it checked.
- Stats after Session: Timing offset was labeled with microseconds (μs). Nope, those are actually milliseconds.
- Mixed Reality: Updated LIV SDK to 1.5.1 and integrated Streamer Mode with LIV. This is super cool! Only works with LIV Avatars, though (not with actual greenscreen based Mixed Reality).
- OctaDrop-Theme: Fixed a very rare corner-case that could cause performance issues, if a map changes BPM from a comparatively high BPM to a very low value and at the same time starts a slider. The issue in this case was that too many parts would have to be instantiated (this occurred in testing when going from 140 BPM to 20 BPM and at the same time starting two long sliders).
- BSMG-Support: Added support for Mapping Extensions.
- Fixed controller management for scroll areas (haptics were broken).
- Streamer Mode: Now has an in-VR UI.
- Command Line Arguments: We let you set the Window position and size via Streamer Mode but that broke the command line arguments -screen-width, -screen-height and -screen-fullscreen. So now we explicitly parse and use those from our own code.
- Added Energy System, failing songs when missing to many notes, and sudden death (song ends immediately when you miss a single note - this is super useful if you absolutely want to full combo a track).
- Updated to Unity 2019.4.15
- Major Change in how clicking works with the UI system because we needed dragging to properly work for the beatmap editor. Previously, "trigger down" caused the click event, now "trigger up" causes the event, and while the trigger is down, the laser pointer freezes for a moment. When you click fast, you shouldn't notice much of a difference - but it's a big change in a core system, so it does come with some risk.
- Updated LIV SDK to 1.5.3 (from 1.5.1)
- Added Modding support for the new Energy System. This works via PostProcessing, using the new state LowEnergy (property lowEnergy). If the state wasn't assigned, the state InObstacle is used.
- Story Mode: Added dolphin and whale sounds to Level 3. Finally.
- Story Mode: Added one whale, and three dolphins to Level 6. Not having any was a little too much for Level 6. That's what has happened in Level 7.
- Story Mode: Fixed "Sliders" in Story Mode. These were broken a long time ago when we improved the osu!-sliders. Levels the have those sliders (but not in all tracks): 6 and 11.
- Story Mode: Level 6 broke in the last update. Fixed.


