Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
ScreenshotHud
Inherits from: Instance → Object
The ScreenshotHud is a 2D user interface that allows users to capture and save screenshots to their local device. It consists of the following UI elements:
- An overlay containing the experience name and Roblox branding. These remain on screen when a screenshot is taken, although the experience name can be disabled through the
ScreenshotHud.ExperienceNameOverlayEnabledproperty. - A camera button that hides all UI except for the overlay and takes a screenshot.
- A close button that closes the
ScreenshotHud.

Inherits from: Instance
Memory category: Instances
Tags: NotCreatable, NotReplicated
Code samples: View on Creator Hub (ScreenshotHud).
Properties
| Name | Type / Returns | Description |
|---|---|---|
| ScreenshotHud.CameraButtonIcon | ContentId | Asset ID of the icon used for the camera button. |
| ScreenshotHud.CameraButtonIconContent | Content | The image content used as the icon for the camera button. |
| ScreenshotHud.CameraButtonPosition | UDim2 | Screen location of the camera button. |
| ScreenshotHud.CloseButtonPosition | UDim2 | Screen location of the close button. |
| ScreenshotHud.CloseWhenScreenshotTaken | boolean | Whether the ScreenshotHud closes automatically when a screenshot is taken. |
| ScreenshotHud.ExperienceNameOverlayEnabled | boolean | Whether the experience name in the overlay is enabled. |
| ScreenshotHud.HideCoreGuiForCaptures | boolean | Whether Roblox's core GUI is hidden while a screenshot is captured. |
| ScreenshotHud.HidePlayerGuiForCaptures | boolean | Whether the local player's GUI is hidden while a screenshot is captured. |
| ScreenshotHud.OverlayFont | Enum.Font | Font used for the experience name in the overlay. |
| ScreenshotHud.UsernameOverlayEnabled | boolean | Has no effect. |
| ScreenshotHud.Visible | boolean | Determines whether the ScreenshotHud is visible. |
Inherited from Instance
| Name | Type / Returns | Description |
|---|---|---|
| Instance.Archivable | boolean | Determines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published. |
| Instance.archivable | boolean | |
| Instance.Capabilities | SecurityCapabilities | The set of capabilities allowed to be used for scripts inside this container. |
| Instance.IsInSandbox | boolean | Indicates whether the instance is inside a sandboxed container. |
| Instance.Name | string | A non-unique identifier of the Instance. |
| Instance.Parent | Instance | Determines the hierarchical parent of the Instance. |
| Instance.PredictionMode | PredictionMode | Reflects the client-side prediction mode applied to the instance under server-authoritative physics. |
| Instance.RobloxLocked | boolean | A deprecated property that used to protect CoreGui objects. |
| Instance.Sandboxed | boolean | When enabled, the instance can only access abilities in its Capabilities list. |
| Instance.UniqueId | UniqueId | A unique identifier for the instance. |
Inherited from Object
| Name | Type / Returns | Description |
|---|---|---|
| Object.ClassName | string | A read-only string representing the class this Object belongs to. |
| Object.className | string |
ScreenshotHud.CameraButtonIcon
Asset ID of the icon used for the camera button.
| Field | Value |
|---|---|
| type | ContentId |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.CameraButtonIconContent
The image Content used as the icon for the camera button on the ScreenshotHud. This is the Content-type equivalent of the legacy ScreenshotHud.CameraButtonIcon property and supports asset URIs. When set, the camera button displays the specified image instead of the default icon.
| Field | Value |
|---|---|
| type | Content |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.CameraButtonPosition
Screen location of the camera button.
| Field | Value |
|---|---|
| type | UDim2 |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.CloseButtonPosition
Screen location of the close button.
| Field | Value |
|---|---|
| type | UDim2 |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.CloseWhenScreenshotTaken
Determines whether the ScreenshotHud closes automatically when a screenshot is taken.
| Field | Value |
|---|---|
| type | boolean |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Data |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.ExperienceNameOverlayEnabled
Deprecated. This property is deprecated. Do not use it for new work.
Determines whether the experience name in the overlay is enabled.
| Field | Value |
|---|---|
| type | boolean |
| tags | ["Hidden","Deprecated"] |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.HideCoreGuiForCaptures
Determines whether Roblox's core GUI is hidden while a screenshot is captured through the ScreenshotHud. Defaults to true, so any enabled CoreGuiType elements are hidden for the duration of the capture and restored afterward. A saved capture is only flagged as GUI-free when both this property and ScreenshotHud.HidePlayerGuiForCaptures are enabled.
| Field | Value |
|---|---|
| type | boolean |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Data |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.HidePlayerGuiForCaptures
Determines whether the local player's GUI is hidden while a screenshot is captured through the ScreenshotHud. Defaults to true, so any enabled ScreenGui instances under the Players.LocalPlayer's PlayerGui are hidden for the duration of the capture and restored afterward. A saved capture is only flagged as GUI-free when both this property and ScreenshotHud.HideCoreGuiForCaptures are enabled.
| Field | Value |
|---|---|
| type | boolean |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Data |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.OverlayFont
Deprecated. This property is deprecated. Do not use it for new work.
The Font used for the experience name in the overlay.
| Field | Value |
|---|---|
| type | Enum.Font |
| tags | ["Hidden","Deprecated"] |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.UsernameOverlayEnabled
Deprecated. This property is deprecated. Do not use it for new work.
Currently has no effect.
| Field | Value |
|---|---|
| type | boolean |
| tags | ["Hidden","Deprecated"] |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | Appearance |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
ScreenshotHud.Visible
Determines whether the ScreenshotHud is visible.
| Field | Value |
|---|---|
| type | boolean |
| security | {"read":"None","write":"None"} |
| thread safety | ReadSafe |
| category | State |
| serialization | {"can_load":true,"can_save":true} |
| capabilities | ["UI"] |
Methods
Inherited from Instance
| Name | Type / Returns | Description |
|---|---|---|
| Instance:AddTag | () | Applies a tag to the instance. |
| Instance:children | Instances | Returns an array of the object's children. |
| Instance:ClearAllChildren | () | This method destroys all of an instance's children. |
| Instance:Clone | Instance | Create a copy of an instance and all its descendants, ignoring instances that are not Archivable. |
| Instance:clone | Instance | |
| 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:FindFirstAncestor | Instance? | Returns the first ancestor of the Instance whose Instance.Name is equal to the given name. |
| Instance:FindFirstAncestorOfClass | Instance? | Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className. |
| Instance:FindFirstAncestorWhichIsA | Instance? | Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className. |
| Instance:FindFirstChild | Instance? | Returns the first child of the Instance found with the given name. |
| Instance:findFirstChild | Instance | |
| Instance:FindFirstChildOfClass | Instance? | Returns the first child of the Instance whose ClassName is equal to the given class name. |
| Instance:FindFirstChildWhichIsA | Instance? | Returns the first child of the Instance for whom Object:IsA() returns true for the given className. |
| Instance:FindFirstDescendant | Instance? | Returns the first descendant found with the given Instance.Name. |
| Instance:GetActor | Actor? | Returns the Actor associated with the Instance, if any. |
| Instance:GetAttribute | Variant | Returns the value which has been assigned to the given attribute name. |
| Instance:GetAttributeChangedSignal | RBXScriptSignal | Returns an event that fires when the given attribute changes. |
| Instance:GetAttributes | Dictionary | Returns a dictionary of the instance's attributes. |
| Instance:GetChildren | Instances | Returns an array containing all of the instance's children. |
| Instance:getChildren | Instances | |
| Instance:GetDebugId | string | Returns a coded string of the debug ID used internally by Roblox. |
| Instance:GetDescendants | Instances | Returns an array containing all of the descendants of the instance. |
| Instance:GetFullName | string | Returns a string describing the instance's ancestry. |
| Instance:GetStyled | Variant | Returns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified. |
| Instance:GetStyledPropertyChangedSignal | RBXScriptSignal | Returns an event that fires when the given style property changes on the instance. |
| Instance:GetTags | Array | Gets an array of all tags applied to the instance. |
| Instance:HasTag | boolean | Check whether the instance has a given tag. |
| Instance:IsAncestorOf | boolean | Returns true if an Instance is an ancestor of the given descendant. |
| Instance:IsDescendantOf | boolean | Returns true if an Instance is a descendant of the given ancestor. |
| Instance:isDescendantOf | boolean | |
| Instance:IsPropertyModified | boolean | Returns true if the value stored in the specified property is not equal to the code-instantiated default. |
| Instance:QueryDescendants | Instances | Returns 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:WaitForChild | Instance | Returns 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
| Name | Type / Returns | Description |
|---|---|---|
| Object:GetPropertyChangedSignal | RBXScriptSignal | Get an event that fires when a given property of the object changes. |
| Object:IsA | boolean | Returns true if an object's class matches or inherits from a given class. |
| Object:isA | boolean |
Events
Inherited from Instance
| Name | Type / Returns | Description |
|---|---|---|
| Instance.AncestryChanged | Fires when the Instance.Parent property of this object or one of its ancestors is changed. | |
| Instance.AttributeChanged | Fires whenever an attribute is changed on the Instance. | |
| Instance.ChildAdded | Fires after an object is parented to this Instance. | |
| Instance.childAdded | ||
| Instance.ChildRemoved | Fires after a child is removed from this Instance. | |
| Instance.DescendantAdded | Fires after a descendant is added to the Instance. | |
| Instance.DescendantRemoving | Fires immediately before a descendant of the Instance is removed. | |
| Instance.Destroying | Fires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy(). | |
| Instance.StyledPropertiesChanged | Fires whenever any style property is changed on the instance, including when a property is set to nil. |
Inherited from Object
| Name | Type / Returns | Description |
|---|---|---|
| Object.Changed | Fires immediately after a property of the object changes, with some limitations. |