Mouse2 Module - Temporary Roblox bug fixes & Custom mouse cursor

Hello. This is a simple mouse-related module script written to solve the problem of the first-person mouse cursor bug that is currently temporarily occurring. This module is useful when you use player:GetMouse() or mouse.Hit to create a gun script that prevents the current temporary Roblox bug. There may be problems with this script as well, but as I said, this is a current measure to prevent temporary Roblox bugs. Bugs can be fixed and obsolete. But you can use this to change the color, size, and opacity of the mouse cursor as well. If you find any issues with this module, please leave a comment.

Note: This module script may not be efficient or compatible with your game.


I found that getting unit ray and hit by continuing to raycast using Stepped creates lag and fps drop, so change it to:

  • mouse:GetHit() — Get mouse.Hit which is fixed.
  • mouse:GetUnitRay() — Get mouse.UnitRay which is fixed.


  • mouse:SetIcon( IMAGE : URL ) — Changes mouse cursor’s icon image. (Way to set it default roblox mouse cursor → mouse:SetIcon())
  • mouse:SetSize( SIZE : VECTOR 2 ) — Changes mouse cursor’s image size.
  • mouse:GetSize( ) — Get mouse cursor’s current size in Vector2.
  • mouse:SetTransparency( TRANSPARENCY : NUMBER ) — Changes mouse cursor’s image transparency
  • mouse:Hide( HIDE? : BOOL ) — Determines whether the mouse is hidden.
  • mouse:GetSystemCursor( ITEM NAME : STRING ) — Get system cursor’s image URL. (Items: “Arrow”, “PointingHand”)
  • mouse:TrailStart( REMOVE TIME : NUMBER, REPEAT INTERVAL : NUMBER ) — Funny function, creates mouse cursor’s trails.


And here is my stuff, enjoy.


Nice to see people solving Roblox’s issues for them.