Collapse Sidebar


This function returns whether the current environment is running on the client.

If the code that invoked this method is running in a client context (in a LocalScript or a ModuleScript required by a LocalScript) then this method will return true. In all other cases, this function will return false.

If this function returns true, then the current environment can access client-only features like RunService/RenderStepped or Players/LocalPlayer.

RunService test function results

Environment IsStudio IsClient IsServer IsEdit IsRunning IsRunMode
Live Player false true false
Live Server false false true
Edit Mode true true true true false false
Edit Mode (Team Create) true true false true false false
Run Mode true true true false true true
Play Mode (Client) true true false false true false
Play Mode (Server) true false true false true true
Team Test Player true true false false true false
Legacy Play Mode[^1]  true true true false true false

See also

  • RunService/IsServer
  • RunService/IsStudio
  • RunService/IsEdit
  • RunService/IsRunning
  • RunService/IsRunMode

[^1]: ‘Legacy Play Mode’ refers to Play Mode with Accurate Play Solo disabled


Return Type Summary

Whether the current environment is running the client

Code Samples

Run Context

This code prints out details of a script’s running context, like if it is running on the server, client, in studio, etc. It uses RunService to do this.

Try pasting this code into a Script or LocalScript. See how it runs in online mode and on a Roblox server (open the developer console).

local RunService = game:GetService("RunService")

if RunService:IsStudio() then
	print("I am in Roblox Studio")
	print("I am in an online Roblox Server")

if RunService:IsRunMode() then
	print("Running in Studio")

if RunService:IsClient() then
	print("I am a client")
	print("I am not a client")

if RunService:IsServer() then
	print("I am a server")
	print("I am not a server")

if RunService:IsRunning() then
	print("The game is running")
	print("The game is stopped or paused")