To disable scroll-equip in Roblox, the usual fix is to block the mouse wheel input or stop the default backpack/tool switching behavior in your game’s script. A common approach is to sink mouse wheel input with ContextActionService so Roblox no longer treats scroll as a tool-switch action.

Simple script approach

Put a LocalScript where it runs for the player, then bind the mouse wheel and return Sink:

lua

local ContextActionService = game:GetService("ContextActionService")

ContextActionService:BindAction(
	"DisableScrollEquip",
	function()
		return Enum.ContextActionResult.Sink
	end,
	false,
	Enum.UserInputType.MouseWheel
)

This prevents the wheel from passing through to Roblox’s default behavior, including scroll-based tool switching in many cases.

Alternative methods

  • Lock the camera zoom by setting CameraMinZoomDistance and CameraMaxZoomDistance to the same value, which stops zoom scrolling but is more about camera control than tool equip.
  • If your goal is broader input blocking, some developers also disable mouse wheel input more directly with UserInputService.MouseWheelEnabled = false.
  • If you only want to stop tool switching, make sure your game isn’t relying on the default Backpack UI, because that can keep scroll-equip behavior active.

Best choice

For most games, ContextActionService is the cleanest option because it blocks the wheel action without breaking everything else tied to camera or UI behavior. If you only need a quick setup, start there first.

TL;DR

Use a LocalScript and bind mouse wheel input to return Enum.ContextActionResult.Sink to disable scroll equip.