Is there a way to control a ScrollingFrame's scroll speed

Title is pretty straightforward. Is there a good way to control how quickly a ScrollingFrame scrolls?

I have a window with a height of 160 pixels & each step on my mouse wheel moves it by 150 pixels – so, basically an entire page.

I want to reduce this down to maybe 20 pixels. Is there a way I can achieve this?

There’s no way to do this. It’s hardcoded in C++ :frowning:

1 Like

Here’s my implementation of a scrolling frame if you want to implement your own to solve this. You can, of course, control the amount it scrolls.

It doesn’t really support Xbox very well, so that’s a tradeoff. I don’t think it would be hard to add, but the code is about 4 years old, so good luck. :smiley:

Sad to hear it. Was hoping to solve this problem without scripts.

BUT I can definitely make do with that for the time being. My gut says to adapt a ScrollingFrame rather than a regular Frame since it has the concept of a “canvas” which will be useful, and it draws a ScrollBar, which is nice.

But I might start by yoinking your code, @Quenty, and see where I can go from there.

1 Like

There is also the SmoothScroll module by boatbomber (located here: https://devforum.roblox.com/t/open-source-smoothscroll-module/313619 ) which has a few added perks :slight_smile:

2 Likes

I felt the same way when I was dealing with a related ScrollingFrame issue, so my SmoothScroll module had that as the design goal. I didn’t want to recreate all my UI, I wanted to be able to slap a module in and then never give it another thought.

@unix_system has kindly linked my module above, which has settings for Sensitivity and Friction to help fit your needs.

My module allows you to continue to create your UI with regular ScrollingFrames, and then you just pass the frame to the enable function of the module.

Please note that I no longer actively support or update the module, since the main feature is smooth scrolling and Roblox has actually added that into default scrolling frames. I might end up reworking it in the future to “ScrollingFrame+” or something with emphasis on sensitivity controls.