Roblox UtilitiesDevlHub Roblox Documentation

Class

StudioCaptureService

NotCreatableServiceNotReplicated
Inherits
Instance › Object
Memory category
Instances

A Studio-only service that lets plugins capture screenshots of the active place's 3D viewport.

StudioCaptureService is a Studio-only service that lets plugins capture screenshots of the active place's 3D viewport. Use RequestScreenshotPermissionAsync() to obtain the user's permission, CanCaptureScreenshot() to check whether a capture is currently possible, and CaptureScreenshot() to request an image of the current view. All members require plugin security and are only available within Studio.

Methods 3#

CanCaptureScreenshotReturns whether a screenshot can currently be captured.PluginSecurity security
CaptureScreenshotCaptures a screenshot of the active place according to the provided options.PluginSecurity security
RequestScreenshotPermissionAsyncRequests the user's permission for the plugin to capture screenshots from the Studio 3D view.PluginSecurity securityYields

CanCaptureScreenshot(): boolean#

PluginSecurity security

Returns false when there is a known reason a screenshot cannot be captured — for example, when this is not the active DataModel or the plugin does not have permission — and true otherwise. A return value of true does not guarantee that CaptureScreenshot() will succeed, because conditions can change between the two calls.

Returns
  • boolean — A boolean that is false when a screenshot is known to be uncapturable, or true otherwise.

CaptureScreenshot(screenshotOptions: Dictionary): StudioScreenshotCapture#

PluginSecurity security

Captures a screenshot of the active DataModel according to screenshotOptions and returns a StudioScreenshotCapture in the requested format. If an image of the requested size cannot be captured at the requested position, the capture fails rather than clipping the image.

The screenshotOptions dictionary accepts the following keys:

  • Position — a Vector2 top-left offset of the captured region. Must be non-negative and defaults to (0, 0).
  • CaptureSize — a Vector2 size of the region to capture. Both components must be positive.
  • OutputSize — a Vector2 size of the returned image. Both components must be positive; when it differs from CaptureSize, ResampleMode must also be provided.
  • ResampleMode — the resampling filter used when OutputSize differs from CaptureSize.
  • Format — an StudioCaptureScreenshotFormat for the returned buffer. Defaults to StudioCaptureScreenshotFormat.RGBA8.
  • UICaptureMode — an UICaptureMode controlling whether UI is included in the capture. Defaults to UICaptureMode.All.

The returned StudioScreenshotCapture is populated asynchronously: its image buffer becomes available only after the capture and encoding complete, and any errors are reported on the capture object.

NameTypeDefaultDescription
screenshotOptionsDictionaryA dictionary of options controlling the capture, such as Position, CaptureSize, OutputSize, ResampleMode, Format, and UICaptureMode.
Returns

RequestScreenshotPermissionAsync(): boolean#

YieldsPluginSecurity security

This yielding function asks the user to grant the plugin permission to capture screenshots from their Studio 3D view, returning true if permission is granted and false otherwise. It can return immediately without prompting when the plugin's permission is already known from an earlier session, and it returns false without prompting when the global screenshot setting is disabled.

Returns
  • boolean — A boolean that is true if the user granted permission and false otherwise.

Inherited members#

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

ClassName, className

Events (1)

Changed