Mouse

Mouse : Instance

Overview

Mouse provides functions related to detecting mouse button clicks.

However, for stable handling of inputs in mobile environments, it is recommended to use UserInputService and ContextActionService instead of Mouse.

Properties

Hit

CFrame

Returns the CFrame value in 3D space at which the mouse pointer is pointing.

Code Samples

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function UpdateEvent(deltaTime)
    print("Hit Position : ", Mouse.Hit.Position)
end
RunService.Heartbeat:Connect(UpdateEvent)

Origin

CFrame

Currently not supported.

Code Samples

Target

BasePart

This property returns the 3D object the mouse pointer is currently pointing at.

If pointing at a non-BasePart area (e.g., sky), the Target value returns nil.

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnButton1Down()
    print("Button1Down", Mouse.Target)
    
    if Mouse.Target.Name == "SpawnLocation" then
        print("Hit SpawnLocation!")
    end
end
Mouse.Button1Down:Connect(OnButton1Down)

ViewSizeX

number

Returns the horizontal screen resolution in pixels.

Code Samples

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

print("ViewSize : ", Mouse.ViewSizeX, " / ", Mouse.ViewSizeY)

ViewSizeY

number

Returns the vertical screen resolution in pixels.

Code Samples

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

print("ViewSize : ", Mouse.ViewSizeX, " / ", Mouse.ViewSizeY)

X

number

Returns the horizontal coordinate on screen in pixels when the mouse is clicked.

Code Samples

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function UpdateEvent(deltaTime)
    print("Mouse Position : ", Mouse.X, " / ", Mouse.Y)
end
RunService.Heartbeat:Connect(UpdateEvent)

Y

number

Returns the vertical coordinate on screen in pixels when the mouse is clicked.

Code Samples

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function UpdateEvent(deltaTime)
    print("Mouse Position : ", Mouse.X, " / ", Mouse.Y)
end
RunService.Heartbeat:Connect(UpdateEvent)

Methods

Events

Button1Down

This event is executed when the player presses the left mouse button.

Parameters

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnButton1Down()
    print("Button1Down", Mouse.Target)
end
Mouse.Button1Down:Connect(OnButton1Down)

Button1Up

This event is executed when the player releases the left mouse button.

Parameters

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnButton1Up()
    print("Button1Up")
end
Mouse.Button1Up:Connect(OnButton1Up)

Button2Down

This event is executed when the player presses the right mouse button.

Parameters

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnButton2Down()
    print("Button2Down", Mouse.Target)
end
Mouse.Button2Down:Connect(OnButton2Down)

Button2Up

This event is executed when the player releases the right mouse button.

Parameters

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnButton2Up()
    print("Button2Up")
end
Mouse.Button2Up:Connect(OnButton2Up)

TouchStarted

(deprecated) This event is executed when the player presses the screen.

It is recommended to use the TouchStarted event of UserInputService.

Parameters

number x

number y

number z

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnTouchStarted()
    print("TouchStarted")
end
Mouse.TouchStarted:Connect(OnTouchStarted)

TouchEnded

(deprecated) This event is executed when the player releases their finger from the screen.

It is recommended to use the TouchEnded event of UserInputService.

Parameters

number x

number y

number z

Code Samples

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()

local function OnTouchEnded()
    print("TouchEnded")
end
Mouse.TouchEnded:Connect(OnTouchEnded)

See also

Mobile Input Handling

Last updated