# Ray tracing with the UnifiedRayTracing API
The `UnifiedRayTracing` API enables you to write ray tracing code that can execute on a wide range of GPUs. It leverages hardware ray tracing acceleration on supported GPUs, while providing a compute shader-based software fallback for those that do not.

|Section|Description|
|-|-|
|[Get started with ray tracing](get-started.md)|Learn the essential information about the API.|
|[Ray tracing workflow](workflow.md)|Create a ray tracing context, and create and execute a ray tracing shader.|
|[Create the ray tracing context](create-ray-tracing-context.md)|How to create the API entry point.|
|[Create an acceleration structure](create-acceleration-structure.md)|Create and initialize an acceleration structure describing your geometry.|
|[Create a unified ray tracing shader](create-shader.md)|Create a unified ray tracing shader file.|
|[Write your shader code](write-shader.md)|Write the ray tracing logic in your a unified ray tracing shader file.|
|[Execute your ray tracing code](execute-shader.md)|How to execute your ray tracing shader.|
|[Sample code](trace-camera-rays-full-sample.md)|Complete code example showcasing tracing rays from the scene's camera.|
|[Unified ray tracing shader code reference](shader-code-reference.md)|API reference for the unified ray tracing shader code.|
|[Release your ray tracing objects](release-resources.md)|Learn how to release your ray tracing resources.|