Skip to content

Platform

Information about the SketchUp platform the extension is running on — desktop, web, or iPad.

Access it from SketchUpApi.platform after connecting. Use it to write platform-specific code or gate features on the SketchUp version.

let { platform } = SketchUpApi;
console.log(platform.platform);
// => 'WEB', 'Desktop', or 'iPad'
console.log(platform.isDesktop);
// => false (on web)
console.log(platform.majorVersion);
// => 2026

Sketchup.platform

readonly majorVersion: number

The parsed major version number, like 2026.


readonly platform: string

The platform identifier — 'WEB', 'Desktop', 'DesktopRuby', or 'iPad'.


readonly platformFeatures: string[]

The list of feature flags enabled for this platform.


readonly SketchUpVersion: Version

The full semantic version as a Version object — useful for comparing against a minimum required version.


readonly version: string

The SketchUp version string, like '2026.0'.

get isDesktop(): boolean

true when running inside SketchUp Desktop (Windows or Mac).

boolean


get isIpad(): boolean

true when running inside SketchUp for iPad.

boolean


get isWeb(): boolean

true when running inside SketchUp Web (the browser app).

boolean


get supportsAmbientOcclusionColor(): boolean

true if the ambient occlusion color property is supported. Requires Desktop 2026 or later; always true on web and iPad.

boolean


get supportsConsistentUndoRevisions(): boolean

true if undo history is consistent between operations. false on DesktopRuby where the Ruby backend handles undo.

boolean


get supportsCreateDuplicateStyle(): boolean

true if styles can be duplicated. Requires Desktop 26.2.0 or later; always true on web and iPad.

boolean


get supportsCRSLocation(): boolean

true if CRS (Coordinate Reference System) location is supported on this platform.

boolean


get supportsPBR(): boolean

true if physically-based rendering (PBR) is available. Requires SketchUp Desktop 2025 or later; always true on web and iPad.

boolean


get supportsRemoveStyle(): boolean

true if styles can be removed. Requires Desktop 25.1.0 or later; always true on web and iPad.

boolean


get supportsSceneGetActiveSectionPlanes(): boolean

true if scene.getActiveSectionPlanes() is supported. Requires Desktop 2026 or later; always true on web and iPad.

boolean


get supportsSceneReordering(): boolean

true if scenes can be reordered. Requires Desktop 2025 or later; always true on web and iPad.

boolean


get supportsScreenshotRenderOptions(): boolean

true if screenshot render options (like scale) are supported. false on DesktopRuby.

boolean


get supportsSnaps(): boolean

true if snap-point queries are supported. Requires Desktop 2025 or later; always true on web and iPad.

boolean


get uniqueSceneNames(): boolean

true if scene names must be unique. Requires Desktop 2026 or later; always true on web and iPad.

boolean

ensureSupportsPBR(): void

Throws if PBR is not supported on this platform and version. Use before calling PBR-related API methods.

void


supportsColorizedImageType(dataType): dataType is ImageFileType

Returns true if the given image format is supported for colorized screenshots. JPEG is not supported on SketchUp Web.

Parameter Type Description

dataType

string

image format string, e.g. 'png' or 'jpg'

dataType is ImageFileType


supportsImageType(dataType): dataType is ImageFileType

Returns true if the given image format is supported for screenshots. GIF is not supported on SketchUp Web.

Parameter Type Description

dataType

string

image format string, e.g. 'png' or 'gif'

dataType is ImageFileType


toString(): string

string

get isP11(): boolean

true when running inside SketchUp Web (the browser app).

boolean