---
title: "isAvailable(on:version:)"
framework: realitykit
role: symbol
role_heading: Instance Method
platforms: [iOS 27.0+, iPadOS 27.0+, tvOS 27.0+, visionOS 27.0+]
path: "realitykit/shadergraph/nodedefinition/isavailable(on:version:)"
---

# isAvailable(on:version:)

Returns whether this node definition is available on a given platform and OS version.

## Declaration

```swift
func isAvailable(on platform: ShaderGraph.NodeDefinition.Platform, version: OperatingSystemVersion? = nil) -> Bool
```

## Parameters

- `platform`: The platform to check availability for.
- `version`: The OS version to check against. When nil, returns true if the definition is available on the platform at any version.

## Return Value

Return Value true if this definition is available on platform at version; false if it is unavailable or has been obsoleted by that version.

## Discussion

Discussion Use this method to filter node definitions before presenting them to the user, or before adding them to a graph that targets a specific deployment target. let library = ShaderGraph.NodeLibrary(version: .materialX138) let currentVersion = ProcessInfo.processInfo.operatingSystemVersion

let supportedDefinitions = library.definitions.filter {     $0.isAvailable(on: .iOS, version: currentVersion) }
