Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRTK3: Scrolling Views do not work with user input. #293

Closed
IssueSyncBot opened this issue Aug 21, 2023 · 10 comments
Closed

MRTK3: Scrolling Views do not work with user input. #293

IssueSyncBot opened this issue Aug 21, 2023 · 10 comments
Assignees
Labels
Package: UX Components The Project ux components package is impacted by this issue. Type: Feature Request A request for a new feature that can be included with the next minor version release.

Comments

@IssueSyncBot
Copy link

IssueSyncBot commented Aug 21, 2023

Original issue opened by:

@SimonDarksideJ SimonDarksideJ


Describe the bug

A clear and concise description of what the bug is.
Tested all of the available MS examples on using a Scrolling View with the MRTK3, yet none actually function with user input.

Valiated:

  • Hero Panel in CanvasExamples
  • VirtualizedScrollRectList - turning off the script that automatically moves the view
  • Setting up a new ScrollRect with MRTK3 buttons

All the input seems to be captured by the content and none of the scroll behaviour makes it's way up to the scrollrect. Even using a Scrollbar does nothing.

To reproduce

Steps to reproduce the behavior:

  1. Open MRTK3 VirtualizedScrollRectList
  2. Disable the Virtualized Scroll Rect List Tester component on the Scroll View (to allow for manual input)
  3. TRY to scroll using far pointers or near hand interactions
  4. See error

Expected behavior

ScrollRects should be interactable with using input via near hands or far pointers, to scroll the view.

Your setup (please complete the following information)

  • Unity Version [e.g. 2020.3.36f1]
  • MRTK Version [e.g. v3.0] - latest

Target platform (please complete the following information)

  • HoloLens 2

ISSUE MIGRATION

Issue migrated from: microsoft/MixedRealityToolkit-Unity#10736

@IssueSyncBot IssueSyncBot added MRTK3 Package: UX Components The Project ux components package is impacted by this issue. Type: Feature Request A request for a new feature that can be included with the next minor version release. labels Aug 21, 2023
@IssueSyncBot
Copy link
Author

Original comment by:

@SimonDarksideJ SimonDarksideJ


A bit of an update, after some tweaking of the controls I returned to testing and found it was possible to scroll in the view (quite a relief that it is even possible), however this still leaves it practically unusable.
I suspect if you manage to grab an item by its shadow or something a few pixels wide of the buttons collider, you can get an interaction back to the panel behind it and actually scroll.

Ideally though, if a Selectable is Grabbed and the use attempts to drag, then this input should be fed through to the parent scrolling area (if there is one), so that scrolling is possible wherever you drag in a Scrollable area.

@IssueSyncBot
Copy link
Author

Original comment by:

@jessemcculloch jessemcculloch


I have a video from Simon if anyone on the MRTK team needs to see it. Just let me know over Teams if so.

@IssueSyncBot
Copy link
Author

Original comment by:

@Zee2 Zee2


@SimonDarksideJ, Scrolling is not yet implemented for this preview release. I've been working on it for the past few weeks, stay tuned!

There's a reason this is still in preview 😉

@IssueSyncBot
Copy link
Author

Original comment by:

@Zee2 Zee2


Tracking this work in #10795 !

@IssueSyncBot
Copy link
Author

Original comment by:

@Zee2 Zee2


Closing as duplicated from the PR. I'll be posting additional updates over on the PR page.

@IssueSyncBot
Copy link
Author

Original comment by:

@AMollis AMollis


@srinjoym can you look into Finn's PR and see what it'll take to bring this into GA

@IssueSyncBot
Copy link
Author

Original comment by:

@srinjoym srinjoym


Tested out Finn's draft PR today. The implementation adds a Scrollable script to allow interactors to move ScrollRect's. The Scrollable script inherits from PressableButton and as far as I can tell makes the whole scroll area a button. The Scrollable script listens for touch events on the button and calculates the scroll delta frame to frame. This works pretty well for scrolling with both poke and far interactors.

There are a couple of issues right now:

  1. Far interactors are not able to click buttons inside the ScrollRect. Not sure if there's a way to circumvent this, likely due to the nested buttons interfering with each other.
  2. Trying to poke scroll a list causes the inner buttons to get clicked. We should try to disable the inner button click events if we detect an active scroll.

@IssueSyncBot
Copy link
Author

Original comment by:

@srinjoym srinjoym


MRTK 2 had both poke scrolling and bubble up ray scrolling. The implementation wasn't ideal either as the inner buttons still got clicked when trying to scroll

@IssueSyncBot
Copy link
Author

Original comment by:

@srinjoym srinjoym


Based on the investigation above, I'd say we need about 2 weeks to either fix this implementation or prototype new scroll interactions. I'm moving this task back to planned

@IssueSyncBot
Copy link
Author

Original comment by:

@AMollis AMollis


An experimental feature has been added for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Package: UX Components The Project ux components package is impacted by this issue. Type: Feature Request A request for a new feature that can be included with the next minor version release.
Projects
None yet
Development

No branches or pull requests

2 participants