Roblox UtilitiesDevlHub Roblox Documentation

Class

StarterPlayer

NotCreatableService
Inherits
Instance › Object
Memory category
Instances

A service which allows the defaults of properties in the Player object to be set.

A service which allows the defaults of properties in the Player object to be set. When a player enters the server, each property of the player object is set to the current value of the corresponding property in StarterPlayer.

Additionally, you may add four objects to this service:

  • A StarterPlayerScripts instance with scripts that run once for each player.
  • A StarterCharacterScripts instance with scripts to add to each player's character every time they spawn.
  • A Humanoid instance named StarterHumanoid which will be used as the default humanoid for each player's character.
  • A Model instance named StarterCharacter which will be used as the character model for all players.

Properties 27#

AllowCustomAnimationsbooleanDescribes the current game's permission levels regarding custom avatar animations from the website.Write: RobloxScriptSecurityReadSafeHidden
AutoJumpEnabledbooleanSets whether the character will automatically jump when hitting an obstacle on a mobile device.ReadSafe
AvatarJointUpgradeRolloutStateControls whether avatars spawn with AnimationConstraint joints for physical simulation.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotReplicated
CameraMaxZoomDistancefloatThe maximum distance the player's default camera is allowed to zoom out in studs.ReadSafe
CameraMinZoomDistancefloatThe minimum distance in studs the player's default camera is allowed to zoom in.ReadSafe
CameraModeCameraModeChanges the default camera's mode to either first or third person.ReadSafe
CharacterBreakJointsOnDeathbooleanDetermines the starting value of Humanoid.BreakJointsOnDeath for Player.Character.ReadSafe
CharacterJumpHeightfloatDetermines the starting value of Humanoid.JumpHeight for Player.Character.ReadSafe
CharacterJumpPowerfloatDetermines the starting value of Humanoid.JumpPower for Player.Character.ReadSafe
CharacterMaxSlopeAnglefloatDetermines the starting value of Humanoid.MaxSlopeAngle for Player.Character.ReadSafe
CharacterUseJumpPowerbooleanDetermines the starting state of Humanoid.UseJumpPower for Player.Character.ReadSafe
CharacterWalkSpeedfloatDetermines the starting value of Humanoid.WalkSpeed for Player.Character.ReadSafe
ClassicDeathbooleanControls whether the character uses the classic death behavior when the Humanoid's health reaches zero.ReadSafe
CreateDefaultPlayerModulebooleanControls how the default player module and related scripts are handled.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotScriptable
DevCameraOcclusionModeDevCameraOcclusionModeSets how the default camera handles objects between the camera and the player.ReadSafe
DevComputerCameraMovementModeDevComputerCameraMovementModeLets you overwrite the player's camera mode on a computer.ReadSafe
DevComputerMovementModeDevComputerMovementModeLets you overwrite the player's movement mode on a computer.ReadSafe
DevTouchCameraMovementModeDevTouchCameraMovementModeLets you overwrite the player's camera mode on a touch-enabled device.ReadSafe
DevTouchMovementModeDevTouchMovementModeLets you overwrite the player's movement mode on a touch-enabled device.ReadSafe
EnableDynamicHeadsLoadDynamicHeadsSets the use of dynamic heads. When true, enables the use of avatar heads with facial animation data.ReadSafeNotScriptable
EnableMouseLockOptionbooleanDetermines if a player can toggle mouse lock by default.ReadSafe
HealthDisplayDistancefloatSets the distance at which this player will see other Humanoid health bars. If set to 0, the health bars will not be displayed.ReadSafe
LoadCharacterAppearancebooleanWhether or not the appearance of a player's character should be loaded.ReadSafe
LoadCharacterLayeredClothing LoadCharacterLayeredClothingIndicates whether characters spawning into an experience will have layered clothing accessories equipped on them.ReadSafeNotReplicatedNotScriptable
LuaCharacterControllerCharacterControlModeSets the character controller mode used by the player's character.ReadSafe
NameDisplayDistancefloatSets the distance at which this player will see other Humanoid names.ReadSafe
UserEmotesEnabledbooleanDetermines if user-owned emotes are loaded when loading avatars.ReadSafe

AllowCustomAnimations: boolean#

HiddenWrite: RobloxScriptSecurityReadSafe

This property describes the current game's permission levels regarding custom avatar Animations from the website.

As such, this value cannot be changed from within the game. It can only be changed by changing the game's permission levels within the game's setting's page on the website.

This property is not intended for use in the game.

AutoJumpEnabled: boolean#

ReadSafe

This property sets whether the character will automatically jump when hitting an obstacle on a mobile device.

This property is copied from the StarterPlayer to a Player when they join the game. Following that. the value of this property is copied to Humanoid.AutoJumpEnabled property of the character's Humanoid on spawn. In other words, it is possible to set the auto-jump behavior on a per-character, per-player and per-game basis using these three properties.

AvatarJointUpgrade: RolloutState#

NotReplicatedRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

This property controls the rollout state of new AnimationConstraint joints in avatars. When disabled, avatars spawn with legacy Motor6Ds connecting their limbs. When enabled, avatars spawn with AnimationConstraints and BallSocketConstraints connecting their limbs. This makes it easier to write scripts that enable physical simulation, like arm strength and ragdoll falling down.

CameraMaxZoomDistance: float#

ReadSafe

This property sets the maximum distance in studs the camera can be from the character with the default cameras.

This property sets the default value of Player.CameraMaxZoomDistance for each player who joins the game. If this value is set to a lower value than StarterPlayer.CameraMinZoomDistance it will be increased to CameraMinZoomDistance.

CameraMinZoomDistance: float#

ReadSafe

This property sets the minimum distance in studs the camera can be from the character with the default cameras.

This property sets the default value of Player.CameraMinZoomDistance for each player who joins the game. If this value is set to a higher value than StarterPlayer.CameraMaxZoomDistance it will be decreased to CameraMaxZoomDistance.

CameraMode: CameraMode#

ReadSafe

Sets the default value for Player.CameraMode for each player in the game. The camera has two modes:

First Person#

In first person mode, the player's camera is zoomed all the way in. Unless there is a visible GUI present with the GuiButton.Modal property set to true, the mouse will be locked and the user's camera will turn as the mouse moves.

Third Person#

In third person mode (default), the character can be seen in the camera. While in third person mode on Roblox:

  • You may right-click and drag to rotate your camera, or use the arrow keys at the bottom right-hand corner of the screen.
  • When you move your mouse, your camera does not change (unless you move the mouse to the end of the screen).
  • When you press any of the arrow keys, the user's character will face in the corresponding arrow key's direction.
  • You can zoom in and out freely.

CharacterBreakJointsOnDeath: boolean#

ReadSafe

This property determines the starting value of Humanoid.BreakJointsOnDeath for a player's Player.Character.

Note that AvatarJointUpgrade must be enabled for this property to take effect.

CharacterJumpHeight: float#

ReadSafe

This property determines the starting value of Humanoid.JumpHeight for a player's Player.Character in studs, with a default of 7.2.

This property is only visible in the Properties window If CharacterUseJumpPower is set to false, as it would not be relevant otherwise.

Since this property is only relevant for characters being spawned in the future, changing it will not change any existing player characters. Changes to this property will only take effect when a player respawns.

CharacterJumpPower: float#

ReadSafe

This property determines the starting value of Humanoid.JumpPower for a player's Player.Character, with a default of 50, minimum of 0, and maximum of 1000.

This property is only visible in the Properties window If CharacterUseJumpPower is set to true, as it would not be relevant otherwise.

Since this property is only relevant for characters being spawned in the future, changing it will not change any existing player characters. Changes to this property will only take effect when a player respawns.

CharacterMaxSlopeAngle: float#

ReadSafe

This property determines the starting value of Humanoid.MaxSlopeAngle for a player's Player.Character in degrees. It defaults to 89, so humanoids can climb pretty much any slope they want by default.

Since this property is only relevant for characters being spawned in the future, changing it will not change any existing player characters. Changes to this property will only take effect when a player respawns.

CharacterUseJumpPower: boolean#

ReadSafe

This property determines the starting value of Humanoid.UseJumpPower for a player's Player.Character. Toggling it will change which property is visible in the Properties window (CharacterJumpHeight if false or CharacterJumpPower if true). Defaults to true.

Since this property is only relevant for characters being spawned in the future, changing it will not change any existing player characters. Changes to this property will only take effect when a player respawns.

CharacterWalkSpeed: float#

ReadSafe

This property determines the starting value of Humanoid.WalkSpeed for a player's Player.Character with a default of 16.

Since this property is only relevant for characters being spawned in the future, changing it will not change any existing player characters. Changes to this property will only take effect when a player respawns.

ClassicDeath: boolean#

ReadSafe

When enabled, the character uses the classic death behavior (joints break apart and parts scatter). When disabled, characters spawn with Humanoid.BreakJointsOnDeath = false, and will ragdoll when they die.

CreateDefaultPlayerModule: boolean#

NotScriptableRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe

This property is only visible when Workspace.PlayerScriptsUseInputActionSystem is enabled. When set to true (default), the PlayerModule injection point occurs at StarterPlayer. When set to false, the default camera and control scripts will not be added to the place.

DevCameraOcclusionMode: DevCameraOcclusionMode#

ReadSafe

Defines how the default camera scripts handle objects between the camera and the camera subject. Applies to all players as they join the experience and can't be changed for individual players.

The default value is Zoom (0). See DevCameraOcclusionMode for a list of available modes.

DevComputerCameraMovementMode: DevComputerCameraMovementMode#

ReadSafe

This property lets you overwrite the player's camera mode on a computer.

If set to UserChoice, the player's camera movement mode will be determined by whatever they set in the experience's settings. Otherwise, the mode will be set based on this property.

This property does not affect players who are not on a computer.

DevComputerMovementMode: DevComputerMovementMode#

ReadSafe

This property lets you overwrite the player's movement mode on a computer.

If set to UserChoice, the player's movement mode will be determined by whatever they set in the experience's settings. Otherwise, the mode will be set based on this property.

This property does not affect players who are not on a computer.

DevTouchCameraMovementMode: DevTouchCameraMovementMode#

ReadSafe

This property lets you overwrite the player's camera mode on a touch-enabled device.

If set to UserChoice, the player's camera movement mode will be determined by whatever they set in the experience's settings. Otherwise, the mode will be set based on this property.

This property does not affect players who are not on a touch-enabled device.

DevTouchMovementMode: DevTouchMovementMode#

ReadSafe

Lets you overwrite the player's movement mode on a touch-enabled device.

If set to UserChoice, the player's movement mode will be determined by whatever they set in the experience's settings. Otherwise, the mode will be set based on this property.

This property does not affect players who are not on a touch-enabled device.

EnableDynamicHeads: LoadDynamicHeads#

NotScriptableReadSafe

Sets the use of dynamic heads. When true, enables the use of avatar heads with facial animation data.

EnableMouseLockOption: boolean#

ReadSafe

This property determines if a player can toggle mouse lock by default.

Mouselock will lock the player's cursor to the center of the screen. Moving the mouse will rotate the Camera and Player will move relative to the current rotation of the camera.

This property sets the value of Player.DevEnableMouseLock.

Note that shift-lock related APIs are in the process of being deprecated, so it's recommended to use UserInputService.MouseBehavior instead to lock the mouse.

HealthDisplayDistance: float#

ReadSafe

This property sets the distance in studs at which this player will see other Humanoid health bars. If set to 0, the health bars will not be displayed. This property is set to 100 studs by default.

To change the display distance for a player once they join the game, you can set the Player.HealthDisplayDistance property.

If a Humanoid health bar is visible, you can set the display type using Humanoid.DisplayDistanceType.

LoadCharacterAppearance: boolean#

ReadSafe

This property sets whether or not the appearance of a player's character should be loaded.

Setting this to false results in the player having no clothes (including hats), body colors, body packages or anything else related to the appearance of the player's avatar. By default, this property is set to true.

Setting this to true results in the player loading the appearance corresponding to the player's Player.CharacterAppearanceId.

If Player:LoadCharacterWithHumanoidDescriptionAsync() is used, it can be advantageous to set StarterPlayer.LoadCharacterAppearance to false as the player's avatar is not required as all asset IDs to equip on the character will come from the passed in HumanoidDescription.

LoadCharacterLayeredClothing : LoadCharacterLayeredClothing#

NotReplicatedNotScriptableReadSafe

Indicates whether characters spawning into an experience will have layered clothing accessories equipped on them (Although Workspace.MeshPartHeadsAndAccessories also need to be enabled in the Workspace).

This property also gates the WrapLayer.AutoSkin feature. When set to Disabled, the automatic skinning transfer pipeline for WrapLayers does not run, and WrapLayer.AutoSkin has no effect. For more information, see Automatic Skinning Transfer.

LuaCharacterController: CharacterControlMode#

ReadSafe

Determines which character controller implementation drives the player's character movement. Accepts a value from CharacterControlMode: Default, Legacy, NoCharacterController, or LuaCharacterController.

NameDisplayDistance: float#

ReadSafe

Sets the distance at which this player will see other Humanoid names. If set to 0, names are hidden. This property is set to 100 studs by default.

To change the display distance for a player once they join the game, you can set the Player.NameDisplayDistance property.

If a Humanoid name is visible, you can set the display type using Humanoid.DisplayDistanceType.

UserEmotesEnabled: boolean#

ReadSafe

This property determines if user-owned emotes are loaded when loading avatars. Setting this property to false disables loading. Developers can set the property in Studio directly.

When emote loading is disabled, the emotes UI will still work as long as developers choose to use the emotes feature by adding emotes within their game.

See also Avatar Emotes, an article detailing how to control, customize, and play avatar emotes.

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed