<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/ShaderGraph/NodeDefinition/isAvailable(on:version:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:11ShaderGraphAAC14NodeDefinitionV11isAvailable2on7versionSbAD8PlatformO_So24NSOperatingSystemVersionaSgtF"
  },
  "title" : "isAvailable(on:version:)"
}
-->

# isAvailable(on:version:)

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

```
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

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

## 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.

```swift
let library = ShaderGraph.NodeLibrary(version: .materialX138)
let currentVersion = ProcessInfo.processInfo.operatingSystemVersion

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

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)