microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6.01k stars 2.12k forks source link

2.1.0 Release Notes and Breaking Changes #5912

Closed wiwei closed 5 years ago

wiwei commented 5 years ago

This issue tracks the new features and breaking changes that are coming in 2.1.0. These will eventually make their way to the github.io docs during the release process.

Please use this issue and add your release notes and breaking changes (and associated upgrade instructions) here.

wiwei commented 5 years ago

The change to mesh/joint visualization means now you can have different visualization settings based on in-editor and on-device:

https://github.com/microsoft/MixedRealityToolkit-Unity/pull/5797

This means you can see joints in editor while having them off in device.

This change is a breaking change, and requires a change to the hand tracking profile if you have created a custom profile. In particular:

-  enableHandMeshVisualization: 0
- enableHandJointVisualization: 1
+  handMeshVisualizationModes: 0
+  handJointVisualizationModes: 1

The old visualization preferences were boolean (i.e. whether or not you could see joints or not). The new ones are flag-based (i.e. 0 means disabled everywhere, 1 means it is visible in-editor but not in device, 2 means it's visible on device but not in editor, 3 means it's visible both in-editor and on-device).

wiwei commented 5 years ago

Copying @lukastoenneMS's update here:

5853 makes a few breaking changes wrt. settings in the input simulation profile. Some of them can be simply FormerlySerializedAs, but there are a number of non-trivial changes too.

In particular, all plain KeyCode and mouse button bindings in the profile have been replaced with a generic KeyBinding struct, which stores the type of binding (key or mouse) as well as the actual binding code (KeyCode or mouse button number respectively). The struct has its own inspector, which allows unified display and offers an "auto-bind" tool to quickly set key bindings by pressing the respective key instead of selecting from a huge dropdown list.

david-c-kline commented 5 years ago

https://github.com/microsoft/MixedRealityToolkit-Unity/commit/faa20948a25ce2ef1a7c29c202468cfcdfa19c15#diff-c875ac46b3fede23576d1e3ce2c0e140 removes a public class and renames some public PMEs

david-c-kline commented 5 years ago

5890 changes the IMixedRealityMouseDeviceManager interface

Troy-Ferrell commented 5 years ago

5967 has breaking and important changes that need to be noted in the release doc

julenka commented 5 years ago

@lukastoenneMS , I think the new input simulator is really cool, could you please point David to release notes we should put into the 2.1 release to share:

1) What's new 2) How to upgrade your existing input simulation profile 3) How to use the new features

lukastoenneMS commented 5 years ago

@julenka @davidkline-ms I added a section to the Upgrading.md doc in the PR, is that sufficient?

https://github.com/microsoft/MixedRealityToolkit-Unity/blob/mrtk_development/Documentation/Updating.md#input-simulation-profile-changes

And the documentation for input sim service is also updated to include the changes:

https://github.com/microsoft/MixedRealityToolkit-Unity/blob/mrtk_development/Documentation/InputSimulation/InputSimulationService.md

julenka commented 5 years ago

@julenka @davidkline-ms I added a section to the Upgrading.md doc in the PR, is that sufficient?

Thanks for those links, Lukas. I think it's enough for now, David or somebody (maybe you, if you could help since you know the best) will still need to write release notes to link to those pages. We will have a section on "input simulation updated". We can deal with that once we start writing the release notes.

julenka commented 5 years ago

PR #5781 refactored classed that extend BaseNearIntearctionTouchable. As a result ColliderNearInteractionTouchable is obsolete. Replace all usages of ColliderNearInteractionTouchable with BaseNearIntearctionTouchable

Troy-Ferrell commented 5 years ago

Regarding deprecations on Interactable class for #6104

Following have been marked as Obsolete:

public void ResetBaseStates() public int GetDimensionIndex() public void SetDimensionIndex(int index) public void ForceUpdateThemes() public bool FocusEnabled public bool IsToggleButton public bool Enabled public bool RequiresFocus public bool IsDisabled public State[] GetStates() public virtual void SetFocus(bool focus) public virtual void SetPress(bool press) public virtual void SetDisabled(bool disabled) public virtual void SetTargeted(bool targeted) public virtual void SetInteractive(bool interactive) public virtual void SetObservationTargeted(bool targeted) public virtual void SetObservation(bool observation) public virtual void SetVisited(bool visited) public virtual void SetToggled(bool toggled) public virtual void SetGesture(bool gesture) public virtual void SetGestureMax(bool gesture) public virtual void SetCollision(bool collision) public virtual void SetCustom(bool custom) public virtual void SetVoiceCommand(bool voice) public virtual void SetPhysicalTouch(bool touch) public virtual void SetGrab(bool grab)

julenka commented 5 years ago

Related to issue #6144 : after upgrading, if you have a custom input simulation profile, the input playback service data provider may have a missing class. Click the "Try Repair" button in the profile window to fix the missing reference.

cre8ivepark commented 5 years ago

UX controls

julenka commented 5 years ago

Experimental Features

david-c-kline commented 5 years ago

Resolved by #6199