[Custom Build] 2017.2 RC MRTP (Windows Mixed Reality Technical Preview)

Hello Everyone,

To keep up a higher pace of changes to improve Unity’s Windows MR support we are releasing a special build of Release Candidate 2. Please only use this build if you are working on a Windows MR title otherwise use the official RC2 build which will be released soon. Note: The release notes below only cover the custom changes made on-top of RC2. These changes will be included in patch builds once 2017.2 is final.

The below releases are for historical reference. Starting with Unity 2017.2.1 P2 no custom build is required. All fixes made in the previous custom builds have been rolled into this release and all future releases. You can find this 2017.2.1 P2 here:
Download Archive
In addition once 2017.2.2 ships you will no longer need a patch release.

---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
UPDATE 5:
Release Notes:

  • This build incorporates all changes from Unity’s 2017.2.0p2 patch; see release notes here for details.
  • Fixed issue with applications not recovering correctly from tracking loss. (case 969994)
  • Fixed a random threading crash.

Download URL:
http://beta.unity3d.com/download/a07ad30bae31/download.html

---------------------------------------------------------------------------------------------------------------------
UPDATE 4:

Release Notes:

  • MRTP build is now based off 2017.2 Patch 1
  • Fixed incorrect eye position offsets (case 963878)
  • Fixed visual stutter when transitioning from tracking to tracking loss and vice versa
  • Fixed incorrect eye position offsets when in a tracking loss state
  • Fixed calls to UnityEngine.Experimental.XR.Boundary.TryGetGeometry throwing internal exception and the function always failing (case 963315)

Download URL:
http://beta.unity3d.com/download/b1565bfe4a0c/download.html

---------------------------------------------------------------------------------------------------------------------
UPDATE 3:
Below is the fourth and most likely last custom 2017.2 build for Windows MR. 2017.2 Patch 1 will contain almost all fixes from all below patches minus some of the following which will be included in Patch 2 (see release notes for official releases).

Release Notes:

  • Fixed performance regression on Microsoft HoloLens

  • Fixed several XAML application issues:

  • XAML applications now correctly launch on desktop

  • Applications properly resume when reactivating after blooming to the shell

  • Applications which include the None VR device will fallback to “flat” desktop mode if launched on a machine without an attached HMD

Known issues:

  • Applications that do not include “None” device will enter a paused state when launched on a machine without an HMD when MRP is not running. This should be addressed by a future OS fix.

Download URL:
http://beta.unity3d.com/download/00283454d7e3/download.html

---------------------------------------------------------------------------------------------------------------------
UPDATE 2:
There is now a third update with additional Windows MR fixes. We recommend only taking these updates if you require the specified fixes below.

Release Notes:

  • Fixed XAML activation issues

  • Fixed the issue when reactivating a XAML app, the container view would get the activation event instead of the holographic view

  • Fixed template code so it doesn’t require a HoloLens

  • Fixed camera-transform popping in and out of tracking loss

  • Camera transform now responds to tracking loss in the same way as other platforms: fall back to rotation-tracking only during tracking loss, then teleport to the tracked position when tracking is recovered

  • The build settings option for pausing on tracking loss now only applies to HoloLens (this will be updated in the future to be a drop-down that lets you still choose to pause during tracking loss on opaque HMDs instead of a checkbox)

  • Fixed issue with reporting the old boundary if a new one had been configured while the app is running

  • InputTracking.Recenter now works on WindowsMR

  • Calling SetTrackingSpaceType with TrackingSpaceType.Stationary will now make the camera behave correctly

Known Issue:

  • Tracking Type will always return Stationary as the type however the type specified by SetTrackingSpaceType is the one actually being used.

Download URL:
http://beta.unity3d.com/download/bf236913e22b/download.html

---------------------------------------------------------------------------------------------------------------------
UPDATE 1:
We have a second build with additional bug fixes. This build closely mirrors the RC3 build which will be released later this week.

Release Notes:

  • Fix for XR.InputTracking.disablePositionalTracking

  • Fix for exception getting thrown when calling DateTime.Parse in IL2CPP builds

  • Fix for exception getting thrown when referencing DateTimeOffset in IL2CPP builds

  • Fixes for asserts and broken rendering when using XRSettings.eyeTextureResolutionScale

  • Fix for buttons not working with InputManager when only the left controller is on

  • Fix for respecting different near/far clip plane values when using multiple cameras in one scene

  • Fixed bug which caused Unity to crash on application close.

Download URL:
http://beta.unity3d.com/download/edcd66fb22ae/download.html
---------------------------------------------------------------------------------------------------------------------
UPDATE:
We have a second build with additional bug fixes. This build closely mirrors the RC3 build which will be released later this week.

Release Notes:

  • Fix for XR.InputTracking.disablePositionalTracking

  • Fix for exception getting thrown when calling DateTime.Parse in IL2CPP builds

  • Fix for exception getting thrown when referencing DateTimeOffset in IL2CPP builds

  • Fixes for asserts and broken rendering when using XRSettings.eyeTextureResolutionScale

  • Fix for buttons not working with InputManager when only the left controller is on

  • Fix for respecting different near/far clip plane values when using multiple cameras in one scene

  • Fixed bug which caused Unity to crash on application close.

Download URL:
http://beta.unity3d.com/download/edcd66fb22ae/download.html
---------------------------------------------------------------------------------------------------------------------

Release Notes:

  • Improved CPU/GPU synchronization which can result in significant performance improvements for CPU/GPU bound titles.

Bug Fixes:

  • Fixed an issue which prevented Holographic Simulation or Remoting from working on Windows Fall Creators Update builds (case 952039)

  • Fixed Asserts triggering when playing a Windows Mixed Reality application in the Editor if the Mixed Reality Portal was not running (case 950519)

  • Fixed an issue that prevented Unity from updating its culling frustum if the Windows API failed to return culling data (case 927404)

  • Guarded against a potential crash if Windows Mixed Reality APIs don’t return a valid camera back buffer (case 948814)

  • renderViewportScale fixes

  • Changing renderViewportScale with anti-aliasing causes the app to freeze (case 916194)

  • Viewport scaling changes scale around the bottom-left corner instead of the center when the setting is lower than 1 (case 916192)

  • Tracking-space and tracking-loss fixes

  • Can’t set tracking-space type to Stationary (case 946305)

  • Tracking-loss screen renders badly and it shouldn’t at all on opaque headsets (case 942154)

  • Tracking loss type is not falling back to stationary when setup has not been configured (case 945163)

  • Windows MR reports incorrect grip-pose rotation (case 949198)

  • You can now correct for controller jitter by updating their poses’ information in OnPreRender (case 948954)

  • Fix for crash when toggling XRSettings.enabled off and then on again (case 952997)

  • Fix for incorrect velocity of controllers being reported relative to starting orientation instead of world origin (case 953023)

  • General lifetime and start-up fixes:

  • Fixed an issue which prevented Holographic Simulation or Remoting from working on Windows Fall Creators Update builds (case 952039)

  • Fixed Asserts triggering when playing a Windows Mixed Reality application in the Editor if the Mixed Reality Portal was not running (case 950519)

  • Fixed an issue that prevented Unity from updating its culling frustum if the Windows API failed to return culling data (case 927404)

  • Guarded against a potential crash if Windows Mixed Reality APIs don’t return a valid camera back buffer (case 948814)

  • Controllers now picked up and work in play-in-editor. Note: you may still encounter issues . Restarting the controller should fix this. (case 934611)

Known Issue:
There was a regression in f2-Custom that resulted in the left and right eye positions being centered on the center, but aligned to the world x-axis, and offset in world space rather than local transform space. That means that they will be incorrect as a function of your starting orientation relative to world space. In the default most common case (looking forward in the space that you set up) you will likely not notice this. The further you are off from that orientation, the more substantial the error. The end result is that for items close to the user, there is a larger visual disparity than there should be. This may be perceived as an object being in the wrong position, and/or appearing as a double image.

Download URL:
http://beta.unity3d.com/download/b9a6355603bd/download.html

So I am using Hololens with vuforia but can’t seem to download Vuforia for this version

Starting from Unity 2017.2f2 Vuforia is integrated wit hunity, do not need to download plugin, you just download Vuforia support in Download Assistant like a standard component, then enable it in build settings.

Yes I know but with this version that has fixes to hololens there is no download for vuforia. When you go to xr settings and click the download for vuforia it goes to a 404 page.

Seeing as 2017.1.2 was just released it’s probably safe to say you guys aren’t going to release for a few more weeks.

Any chance these fixes will make it into the RC instead of Patch Releases?

@ScottF I updated to this build, and now the motion controllers are reporting a different position and rotation via the UnityEngine.XR.InputTracking API. Is this to be expected?

The position and orientation in beta 11 and RC1 were much more similar to what oculus motion controllers reported. It is almost like they are reporting the pointer pose instead of the grip pose.

Edit: Okay, I know what happened. Even though the docs for months have been saying UnityEngine.XR.InputTracking uses the Grip pose, it had actually been using the Pointer pose.

I updated to using UnityEngine.XR.WSA.Input.InteractionManager.GetCurrentReading and retrieved the pointer pose. Hands are back to where then were when I was on beta 11 and used the UnityEngine.XR.InputTracking API.

This build should ONLY be used for Windows MR (VR) titles. Please continue to use official builds for HoloLens. These special build do not include any other platforms including Vuforia.

We will have all of these fixes merged into early patches to unblock any issues you may have with HoloLens and Vuforia combination.

2017.2 has Vuforia built in and that is why I chose to use it. But I found out that 2017.2 has a bug with the holographic emulation in the editor so I have to build to the hololens everytime I needed to test the project. This version has fixed that issue but doesn’t support Vuforia which is a main aspect of my application. So my solutions until this is merged into a 2017 version I can use is to either roll back to 2017.1.2 and use the legacy vuforia package. Or continue what I’m currently doing which is developing hololens functionality in this version and when I’m ready for a build port the code back to 2017.2 f2 add my vuforia prefabs into the scene uncomment all my vuforia related code and build. It beats building it for every little test but is still a huge pain.

SO @ScottF are you saying these fixes WILL be in RC 3? or that this “patch” release just includes RC3 fixes?

So did this stuff get put into the actual release?

Says it did in the release notes.

Should we use formal release or MRTP?

Doesn’t look like it @StephenHodgson-Valorem , Don’t see any of the fixes listed above in the release notes.
But I’m happy to be corrected (although I only just installed the F3 MRTP build today :S)
@ScottF ?

1 Like

It’s not like Microsoft has pushed the Fall Creator’s Update so people running vanilla windows couldn’t use the official release anyway.

Hello everyone,

Unity 2017.2f3 was released yesterday and I don’t see these changes in the release notes. Do I have to use the RC3-MRTP instead of the 2017.2f3 to publish on the Store? I’m ready to publish day one, I just need to know what build to use. Thanks guys!

Yes, if you need the MRTP fixes you need this custom build. These fixes will all be rolled into mainline builds in p1 and p2. We did not want to introduce additional risk in the final days of RC2 so we opted to use these custom builds.

Hello,

The RC3 doesn’t work with IL2CPP if I use the InteractionManager class. That’s problematic… I use the post Processing stack v2, so I can’t build without IL2CPP. I’ll retry with the RC2, or make a dirty fix and patch the game after the release.

How is it not working for you? Compile error or runtime issue?

Download link for UnitySetup-Metro-Support-for-Editor-2017.2.0f3-MRTP.exe not working.

Anyone has the correct url?

@ScottF Is there no way to tell the difference between the two 2017.3.0f3 MRTP updates?

The build numbers are the same.

@Barkers-Crest too much issues actually… I can build with IL2CPP but a call to InteractionManager throws an exception and I can’t to anything. I’ve issues on Xbox One too related to the event system. I use this code to ensure it’s working

standaloneModule.forceModuleActive = true;

But it not works all the time. By example if I set the timescale to 0 (for a menu), it doen’t work anymore. It works on PC.

I hope that it’ll be fixed soon. I compiled my game using the RC2-MRTP which is stable for me. BUT I reported the release of the Xbox One version until this issue is fixed.

Yes sorry for this :frowning: We will make sure on future spins we increment the MRTP number. In the meantime if you go to the Help → About, Press Alt and the changeset hash will be shown.