PcoWSkbVqDnWTu_dm2ix
We use cookies on this site to enhance your user experience
Collapse Sidebar

SimulationRadius

Player

float

SimulationRadius determines the radius around the Player/Character in which physically simulated objects, for whom network ownership is set to automatic, are physically simulated by the Player. In cases where a BasePart or assembly is within multiple player’s SimulationRadiuses, the closest player is chosen.

SimulationRadius, measured in studs, starts at 10 and grows at a rate of 5% per second until it reaches Player/MaximumSimulationRadius.

Notes

  • The Player/SimulationRadius can be visualized using PhysicsSettings/AreRegionsShown
  • When this property is changed, the Player/SimulationRadiusChanged event fires
  • For more information on network ownership, please see this tutorial

Code Samples


How to View, Track, and Modify a Player's Simulation Radius

This example demonstrates how to view, track, and modify a player’s simulation radius.

The example modifies and tracks this property for the Player/LocalPlayer. First, the Player/MaximumSimulationRadius is set to 800, which is less than the default 1000 studs.

Next, the Player/SimulationRadius property alternated between incrementing and decrementing by 20 students every 5 seconds. This is done to highlight the effects of changing the radius, most notable when the radius is draw by the physics engine when PhysicsSettings/AreRegionsShown is enabled.

Lastly, the Player/SimulationRadiusChanged function fires when the radius changes and prints the updated radius.

##Note
In order to view the simulation radius, PhysicsSettings/AreRegionsShown must be set to true. It can be found under the Physics tab in Roblox Studio’s settings menu.

-- Get the local player
local player = game.Players.LocalPlayer

-- Set the maximum simulation radius (default is 1000)
player.MaximumSimulationsRadius = 800

-- Change the simulation radius
local change = -20
while true do
	change = change * -1
	player.SimulationRadius = player.SimulationRadius + change
	wait(5)
end

-- Print the updated simulation radius
player.SimulationRadiusChanged:Connect(function(radius)
	print("The new simulation radius is: "..radius.."studs")
end)