Class
StarterPlayer
NotCreatableService
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
StarterPlayerScriptsinstance with scripts that run once for each player. - A
StarterCharacterScriptsinstance with scripts to add to each player's character every time they spawn. - A
Humanoidinstance namedStarterHumanoidwhich will be used as the default humanoid for each player's character. - A
Modelinstance namedStarterCharacterwhich will be used as the character model for all players.
Properties 27#
AllowCustomAnimationsboolean | Describes the current game's permission levels regarding custom avatar animations from the website.Write: RobloxScriptSecurityReadSafeHidden |
AutoJumpEnabledboolean | Sets whether the character will automatically jump when hitting an obstacle on a mobile device.ReadSafe |
AvatarJointUpgradeRolloutState | Controls whether avatars spawn with AnimationConstraint joints for
physical simulation.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotReplicated |
CameraMaxZoomDistancefloat | The maximum distance the player's default camera is allowed to zoom out in studs.ReadSafe |
CameraMinZoomDistancefloat | The minimum distance in studs the player's default camera is allowed to zoom in.ReadSafe |
CameraModeCameraMode | Changes the default camera's mode to either first or third person.ReadSafe |
CharacterBreakJointsOnDeathboolean | Determines the starting value of Humanoid.BreakJointsOnDeath for
Player.Character.ReadSafe |
CharacterJumpHeightfloat | Determines the starting value of Humanoid.JumpHeight for
Player.Character.ReadSafe |
CharacterJumpPowerfloat | Determines the starting value of Humanoid.JumpPower for
Player.Character.ReadSafe |
CharacterMaxSlopeAnglefloat | Determines the starting value of Humanoid.MaxSlopeAngle for
Player.Character.ReadSafe |
CharacterUseJumpPowerboolean | Determines the starting state of Humanoid.UseJumpPower for
Player.Character.ReadSafe |
CharacterWalkSpeedfloat | Determines the starting value of Humanoid.WalkSpeed for
Player.Character.ReadSafe |
ClassicDeathboolean | Controls whether the character uses the classic death behavior when the Humanoid's health reaches zero.ReadSafe |
CreateDefaultPlayerModuleboolean | Controls how the default player module and related scripts are handled.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeNotScriptable |
DevCameraOcclusionModeDevCameraOcclusionMode | Sets how the default camera handles objects between the camera and the player.ReadSafe |
DevComputerCameraMovementModeDevComputerCameraMovementMode | Lets you overwrite the player's camera mode on a computer.ReadSafe |
DevComputerMovementModeDevComputerMovementMode | Lets you overwrite the player's movement mode on a computer.ReadSafe |
DevTouchCameraMovementModeDevTouchCameraMovementMode | Lets you overwrite the player's camera mode on a touch-enabled device.ReadSafe |
DevTouchMovementModeDevTouchMovementMode | Lets you overwrite the player's movement mode on a touch-enabled device.ReadSafe |
EnableDynamicHeadsLoadDynamicHeads | Sets the use of dynamic heads. When true, enables the use of avatar heads with facial animation data.ReadSafeNotScriptable |
EnableMouseLockOptionboolean | Determines if a player can toggle mouse lock by default.ReadSafe |
HealthDisplayDistancefloat | Sets the distance at which this player will see other Humanoid
health bars. If set to 0, the health bars will not be displayed.ReadSafe |
LoadCharacterAppearanceboolean | Whether or not the appearance of a player's character should be loaded.ReadSafe |
LoadCharacterLayeredClothing LoadCharacterLayeredClothing | Indicates whether characters spawning into an experience will have layered clothing accessories equipped on them.ReadSafeNotReplicatedNotScriptable |
LuaCharacterControllerCharacterControlMode | Sets the character controller mode used by the player's character.ReadSafe |
NameDisplayDistancefloat | Sets the distance at which this player will see other Humanoid
names.ReadSafe |
UserEmotesEnabledboolean | Determines 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
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild