When trying MRTK Handmenu example under Unity, it works under debug mode only. Release and master builds won't work as expected. The app can't bring up menu sometimes. Another issue is that the menu deformed when hand was moving fast.
Release and master builds work
First seen: 2020-04-13 4:16 PM
Filing on behalf of someone else.
@polar-kev
This sounds related to https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7624, maybe #7912 and https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7926, all solver and perf-based (arm vs arm64, release vs debug). @wiwei I almost feel like, with the sheer number and frequency of these issues, these should be 2.4 ship blockers until we figure it out.
@wiwei After debugging these issues for a while, I rescind my request for marking these as ship blockers (other than maybe #7926, which appears to be caused by new code in 2.4: https://github.com/microsoft/MixedRealityToolkit-Unity/pull/7413). I'm no longer convinced this is an MRTK problem, but perhaps an ARM64 or IL2CPP issue.
Investigating the scale data (all run as a Release build) (position suffers from a similar behavior, it seems):
| | ARM | ARM64 |
|---|---|---|
| WorkingScale | (1.0, 1.0, 1.0) | (1.0, 1.0, 1.0) |
| GoalScale | (1.0, 1.0, 1.0) | (1.0, 1.0, 1.0) |
Seems normal. However, when this data is passed into the SmoothTo method (hence why other comments have mentioned turning smoothing off as a fix):
| | ARM | ARM64 |
|---|---|---|
| source | (1.0, 1.0, 1.0) | (1.0, 1.0, 1.0) |
| goal | (1.0, 1.0, 1.0) | (0.0, 0.0, 72731400000000000000000.0) |
| deltaTime | 0.02341557 | 1.448721E+08 |
| lerpTime | 0 | 6.209681E+22 |
It's somewhat surprisingly deterministic, where even the deltaTimes on ARM64 have been exact matches between different runs from frame to frame, which isn't true on ARM and I wouldn't expect to be true due to variance in frame timings.
| | Frame 1 | Frame 2 | Frame 3+ (it was the same for every following frame) |
|---|---|---|---|
| source | (1.0, 1.0, 1.0) | (1.0, 1.0, 169682600.0) | (0.0, 0.0, 1198867000000000000000000000000000.0) |
| goal | (0.0, 0.0, 72731400000000000000000.0) | (0.0, 0.0, 1198867000000000000000000000000000.0) | (0.0, 0.0, 61722100000000000000000000000.0) |
| deltaTime | 1.448721E+08 | 7.27314E+22 | 1.82929E+08 |
| lerpTime | 6.209681E+22 | 1.448721E+08 | 1.157836E+27 |
I'm commenting on this issue because this is where I originally posted, but without additional data from the original filer on how they're building their app, I can't confirm that it's the exact same issue.
I have the same bug running framework version 2.3 and Unity 2019.3.5f1..
Also disabling smooth fixed it, but menu is not facing main camera, but seems turned a bit on teh y-axis..
Hope for fix soon, as menues are a vital part for us..
We see the same issue on HL2. The menus don't show up in Release mode but do in Debug mode. As a workaround you can disable the "Smoothing" option on the HandConstraintPalmUp component:

Seems to be a VS bug version, according to this comment in related issue: . Vs 16.4.6 should work fine.
Just FYI - For folks using VS Community edition there is no way to downgrade. So disabling smoothing is the only workaround until they fix the VS bug that is causing this.
Still see this on VS Enterprise 2019 16.6.5, Unity 2019.4.5f1. Works in Editor simulation. Works in ARM64 with smoothing turned off. Otherwise broken ☹
@KevinKennedy see https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7624#issuecomment-665309866 for more details. Closing this out as a duplicate of that.
Most helpful comment
We see the same issue on HL2. The menus don't show up in Release mode but do in Debug mode. As a workaround you can disable the "Smoothing" option on the HandConstraintPalmUp component:
