11 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Sky

Inherits from: Instance → Object

The Sky object, when placed inside Lighting, changes the default appearance of the experience's sky. This object's skybox is composed of six sides, like a cube. Rotation of the skybox can be changed through SkyboxOrientation.

The skybox sun, moon, and other celestial objects remain visible unless you turn off the CelestialBodiesShown property. By adjusting the StarCount property, you can change how many stars appear in the sky at night.

This object can also be used as a cubemap for reflections in ViewportFrames, in which case only the Sky object's six‑side Skybox[…] properties are used. For details, see viewport frames.

Inherits from: Instance

Memory category: Instances

Properties

NameType / ReturnsDescription
Sky.CelestialBodiesShownbooleanSets whether the sun, moon, and stars will render in the skybox.
Sky.MoonAngularSizefloatThe perceived angular size of the moon while using this skybox, in degrees. Defaults to 11 and is clamped to the range [0, 60].
Sky.MoonTextureContentContentThe image displayed for the moon while using this skybox.
Sky.MoonTextureIdContentIdThe texture of the moon while using this skybox.
Sky.SkyboxBackContentContentThe image displayed on the back surface of the skybox.
Sky.SkyboxBkContentIdThe URL link to a picture for the back surface of the sky.
Sky.SkyboxDnContentIdAsset ID for the bottom surface of the skybox.
Sky.SkyboxDownContentContentThe image displayed on the bottom surface of the skybox.
Sky.SkyboxFrontContentContentThe image displayed on the front surface of the skybox.
Sky.SkyboxFtContentIdAsset ID for the front surface of the skybox.
Sky.SkyboxLeftContentContentThe image displayed on the left surface of the skybox.
Sky.SkyboxLfContentIdAsset ID for the left surface of the skybox.
Sky.SkyboxOrientationVector3Angle of the skybox, in degrees, with rotation order of Y, X, Z.
Sky.SkyboxRightContentContentThe image displayed on the right surface of the skybox.
Sky.SkyboxRtContentIdAsset ID for the right surface of the skybox.
Sky.SkyboxUpContentIdAsset ID for the top surface of the skybox.
Sky.SkyboxUpContentContentThe image displayed on the top surface of the skybox.
Sky.StarCountintHow many stars are shown in the skybox.
Sky.SunAngularSizefloatThe perceived angular size of the sun while using this skybox, in degrees.
Sky.SunTextureContentContentThe image displayed for the sun while using this skybox.
Sky.SunTextureIdContentIdThe texture of the sun while using this skybox.

Inherited from Instance

NameType / ReturnsDescription
Instance.ArchivablebooleanDetermines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published.
Instance.archivableboolean
Instance.CapabilitiesSecurityCapabilitiesThe set of capabilities allowed to be used for scripts inside this container.
Instance.IsInSandboxbooleanIndicates whether the instance is inside a sandboxed container.
Instance.NamestringA non-unique identifier of the Instance.
Instance.ParentInstanceDetermines the hierarchical parent of the Instance.
Instance.PredictionModePredictionModeReflects the client-side prediction mode applied to the instance under server-authoritative physics.
Instance.RobloxLockedbooleanA deprecated property that used to protect CoreGui objects.
Instance.SandboxedbooleanWhen enabled, the instance can only access abilities in its Capabilities list.
Instance.UniqueIdUniqueIdA unique identifier for the instance.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring

Sky.CelestialBodiesShown

Determines whether the sun, moon, and stars are rendered in the skybox. Defaults to true. When set to false, the sun, moon, and stars are hidden, regardless of the values of other properties.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.MoonAngularSize

The perceived angular size of the moon while using this skybox, measured in degrees.

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.MoonTextureContent

The Content image displayed for the moon while using this skybox. Defaults to rbxasset://sky/moon.jpg.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.MoonTextureId

The texture asset ID for the moon while using this skybox. Defaults to rbxasset://sky/moon.jpg.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxBackContent

The Content image displayed on the back surface of the skybox. Defaults to rbxasset://textures/sky/sky512_bk.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxBk

The texture asset ID for the back surface of the skybox. Defaults to rbxasset://textures/sky/sky512_bk.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxDn

The texture asset ID for the bottom surface of the skybox. Defaults to rbxasset://textures/sky/sky512_dn.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxDownContent

The Content image displayed on the bottom surface of the skybox. Defaults to rbxasset://textures/sky/sky512_dn.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxFrontContent

The Content image displayed on the front surface of the skybox. Defaults to rbxasset://textures/sky/sky512_ft.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxFt

The texture asset ID for the front surface of the skybox. Defaults to rbxasset://textures/sky/sky512_ft.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxLeftContent

The Content image displayed on the left surface of the skybox. Defaults to rbxasset://textures/sky/sky512_lf.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxLf

The texture asset ID for the left surface of the skybox. Defaults to rbxasset://textures/sky/sky512_lf.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxOrientation

Changes the orientation of the skybox surfaces. This property takes a Vector3 of degree values in the typical XYZ order, but applies rotation first around the Y axis. After applying the Y axis rotation, the orientation is applied to the X and Z axes to allow for predictable control over complex movements. Your camera and object orientation can affect how this rotation appears to be applied.

An easy way to script an orientation animation is to spin around the Y axis (keeping the horizon level), then tilt this axis by setting X and Z to a fixed value:

local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")

local sky = Lighting:FindFirstChild("Sky")

local ROTATION_SPEED = 5  -- In degrees per second

RunService.Heartbeat:Connect(function(deltaTime)
	sky.SkyboxOrientation = Vector3.new(
		30,
		(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
		0
	)
end)

See here for further info and limitations.

FieldValue
typeVector3
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Code samples: View on Creator Hub (Skybox-Orientation).

Sky.SkyboxRightContent

The Content image displayed on the right surface of the skybox. Defaults to rbxasset://textures/sky/sky512_rt.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxRt

The texture asset ID for the right surface of the skybox. Defaults to rbxasset://textures/sky/sky512_rt.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxUp

The texture asset ID for the top surface of the skybox. Defaults to rbxasset://textures/sky/sky512_up.tex.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SkyboxUpContent

The Content image displayed on the top surface of the skybox. Defaults to rbxasset://textures/sky/sky512_up.tex.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.StarCount

How many stars are shown in the skybox. Only works if CelestialBodiesShown is true.

FieldValue
typeint
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SunAngularSize

The perceived angular size of the sun while using this skybox, in degrees. Defaults to 21 and is clamped to the range [0, 60].

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SunTextureContent

The Content image displayed for the sun while using this skybox. Defaults to rbxasset://sky/sun.jpg.

FieldValue
typeContent
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Sky.SunTextureId

The texture asset ID for the sun while using this skybox. Defaults to rbxasset://sky/sun.jpg.

FieldValue
typeContentId
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAppearance
serialization{"can_load":true,"can_save":true}
capabilities["Environment"]

Methods

Inherited from Instance

NameType / ReturnsDescription
Instance:AddTag()Applies a tag to the instance.
Instance:childrenInstancesReturns an array of the object's children.
Instance:ClearAllChildren()This method destroys all of an instance's children.
Instance:CloneInstanceCreate a copy of an instance and all its descendants, ignoring instances that are not Archivable.
Instance:cloneInstance
Instance:Destroy()Sets the Instance.Parent property to nil, locks the Instance.Parent property, disconnects all connections, and calls Destroy() on all children.
Instance:destroy()
Instance:FindFirstAncestorInstance?Returns the first ancestor of the Instance whose Instance.Name is equal to the given name.
Instance:FindFirstAncestorOfClassInstance?Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className.
Instance:FindFirstAncestorWhichIsAInstance?Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstChildInstance?Returns the first child of the Instance found with the given name.
Instance:findFirstChildInstance
Instance:FindFirstChildOfClassInstance?Returns the first child of the Instance whose ClassName is equal to the given class name.
Instance:FindFirstChildWhichIsAInstance?Returns the first child of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstDescendantInstance?Returns the first descendant found with the given Instance.Name.
Instance:GetActorActor?Returns the Actor associated with the Instance, if any.
Instance:GetAttributeVariantReturns the value which has been assigned to the given attribute name.
Instance:GetAttributeChangedSignalRBXScriptSignalReturns an event that fires when the given attribute changes.
Instance:GetAttributesDictionaryReturns a dictionary of the instance's attributes.
Instance:GetChildrenInstancesReturns an array containing all of the instance's children.
Instance:getChildrenInstances
Instance:GetDebugIdstringReturns a coded string of the debug ID used internally by Roblox.
Instance:GetDescendantsInstancesReturns an array containing all of the descendants of the instance.
Instance:GetFullNamestringReturns a string describing the instance's ancestry.
Instance:GetStyledVariantReturns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Instance:GetStyledPropertyChangedSignalRBXScriptSignalReturns an event that fires when the given style property changes on the instance.
Instance:GetTagsArrayGets an array of all tags applied to the instance.
Instance:HasTagbooleanCheck whether the instance has a given tag.
Instance:IsAncestorOfbooleanReturns true if an Instance is an ancestor of the given descendant.
Instance:IsDescendantOfbooleanReturns true if an Instance is a descendant of the given ancestor.
Instance:isDescendantOfboolean
Instance:IsPropertyModifiedbooleanReturns true if the value stored in the specified property is not equal to the code-instantiated default.
Instance:QueryDescendantsInstancesReturns an array containing all descendants of the instance that match the selector string.
Instance:Remove()Sets the object's Parent to nil, and does the same for all its descendants.
Instance:remove()
Instance:RemoveTag()Removes a tag from the instance.
Instance:ResetPropertyToDefault()Resets a property to its default value.
Instance:SetAttribute()Sets the attribute with the given name to the given value.
Instance:WaitForChildInstanceReturns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

Events

Inherited from Instance

NameType / ReturnsDescription
Instance.AncestryChangedFires when the Instance.Parent property of this object or one of its ancestors is changed.
Instance.AttributeChangedFires whenever an attribute is changed on the Instance.
Instance.ChildAddedFires after an object is parented to this Instance.
Instance.childAdded
Instance.ChildRemovedFires after a child is removed from this Instance.
Instance.DescendantAddedFires after a descendant is added to the Instance.
Instance.DescendantRemovingFires immediately before a descendant of the Instance is removed.
Instance.DestroyingFires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy().
Instance.StyledPropertiesChangedFires whenever any style property is changed on the instance, including when a property is set to nil.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.