# supportsGraphicsFence

> true if the platform supports GraphicsFences, otherwise false.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static bool supportsGraphicsFence { get; }
```

### Remarks

Graphics fences are supported on all platforms that support [compute shaders](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/class-compute-shader.md).

A value of true doesn't mean that a [GraphicsFence](/engine/6000.0/script-reference/unityengine/rendering/graphicsfence.md) works on every platform. [Graphics.CreateGraphicsFence](/engine/6000.0/script-reference/unityengine/graphics/creategraphicsfence.md) and [CommandBuffer.CreateGraphicsFence](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/creategraphicsfence.md) create an [GraphicsFenceType.AsyncQueueSynchronisation](/engine/6000.0/script-reference/unityengine/rendering/graphicsfencetype/asyncqueuesynchronisation.md) fence. That type synchronizes with the async compute queue, so it also requires [SystemInfo.supportsAsyncCompute](/engine/6000.0/script-reference/unityengine/systeminfo/supportsasynccompute.md). When this property is true and [SystemInfo.supportsAsyncCompute](/engine/6000.0/script-reference/unityengine/systeminfo/supportsasynccompute.md) is false, reading [GraphicsFence.passed](/engine/6000.0/script-reference/unityengine/rendering/graphicsfence/passed.md) on that fence throws a `NotSupportedException`.
