> For the complete documentation index, see [llms.txt](https://ipgames.gitbook.io/htrace-ao/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ipgames.gitbook.io/htrace-ao/settings-and-properties/ssao-settings.md).

# SSAO Settings

## Radius

Defines the maximum distance **in meters** for occluder search.&#x20;

* For HDRP this roughly corresponds to the [Radius](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/manual/reference-ambient-occlusion.html#:~:text=direct%20diffuse%20lighting.-,Radius,-Use%20the%20slider) of the SSAO override.
* For URP this roughly corresponds to the [Radius](#world-space-radius-gtao-rtao) of the native SSAO renderer feature.

Unlike GTAO or RTAO, SSAO performs occlusion search across nearby pixels over multiple passes, where each consecutive pass increases the search distance. The Radius slider controls the number of passes. Since SSAO is not bound by world-space units, its visual output may vary across different resolutions.

*Performance impact: moderate*

{% tabs %}
{% tab title="Radius 1" %}

<figure><img src="/files/9zjuea1CGN3wyuKL6RCO" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Radius 2" %}

<figure><img src="/files/2S6ca4W1QCR9n9HJrdfN" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Radius 3" %}

<figure><img src="/files/MERdWf7sGhWedhPbQ0nL" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Radius 4" %}

<figure><img src="/files/dyPfB6S9Kogq3sI0WZDQ" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Thickness

Control the thickness of the surfaces on screen. Because the screen-space algorithms can not distinguish thin objects from thick ones, this property helps trace rays behind objects, treating them uniformly.

*Performance impact: insignificant*

{% tabs %}
{% tab title="Thickness 0 \[SSAO]" %}

<figure><img src="/files/CU5PRg3NRj2bb6PmVOS9" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Thickness 1 \[SSAO]" %}

<figure><img src="/files/AaM6QShT3IlR1YCEIMIN" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Exclude Casting <mark style="color:$info;">\[Unity 6000+]</mark>

Excludes objects from **casting** AO on a per-layer basis via the **Rendering Layer Mask**. This feature works by clearing the pixels of excluded objects from the local depth buffer used by HTrace AO (while leaving Unity's original depth buffer intact). Objects excluded via this option are displayed as red in the **Depth** [Debug Mode](/htrace-ao/settings-and-properties/shared-settings.md#debug-mode).

{% hint style="danger" %}
In **URP** this feature is available only in **Deferred** and **Deferrred+** rendering paths. You can use [Prepass Layer Mask](https://docs.unity3d.com/Manual//urp/urp-universal-renderer.html) in the **Universal Renderer Data** as an alternative.
{% endhint %}

{% hint style="warning" %}
Keep in mind that excluding objects does not make other objects behind them visible to screen-space rays, since this operation **only erases** data from the depth buffer but cannot restore the information behind the excluded areas.
{% endhint %}

{% tabs %}
{% tab title="No Objects Excluded" %}

<figure><img src="/files/OoyG5Rzloh4ykJcxo4fD" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Menu Sign Object Excluded" %}

<figure><img src="/files/BoALG1HvJTJPA8IfIK7e" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Depth Buffer Debug" %}

<figure><img src="/files/JZZImnnybHLzBuwhdneq" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
