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
6k stars 2.12k forks source link

Unable to override deactivation of GazeCursor when hands are present #4787

Closed jabulenc closed 4 years ago

jabulenc commented 5 years ago

Describe the bug

Despite implementing a custom PointerMediator that does not disable the GazePointer when hands are present, Gaze is still disabled when hands are detected.

To reproduce

Steps to reproduce the behavior:

  1. Implement a custom PointerMediator that does not disable Gaze when hand or other near pointers are being used
  2. Have an object that is activated in some way with an EyeTracking target that will also be present when user hand pointers are active
  3. When running a scene, observe that Gaze is disabled regardless of Mediator logic.

Expected behavior

The custom mediator should allow both gaze and hand pointers to be active at the same time

Your Setup (please complete the following information)

Target Platform (please complete the following information)

Additional context

@AMollis pointed out the following in a co-working session: FocusProvider.cs, line 834


                // The gaze cursor's visibility is controlled by IsInteractionEnabled 
                // Show the gaze cursor if there are no other pointers that are showing a cursor
                gazePointer.IsInteractionEnabled = numFarCursors == 1 && numNearPointersActive == 0;

Which should be handled in Mediator logic exclusively

stale[bot] commented 4 years ago

This issue has been marked as stale by an automated process because it has not had any recent activity. It will be automatically closed in 30 days if no further activity occurs. If this is still an issue please add a new comment with more recent details and repro steps.

stale[bot] commented 4 years ago

This issue has been closed by an automated process because it is stale. If this is still an issue please add a new comment with more recent details and repro steps.