Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update AYON USD Docs and Add AYON USD Resolver Docs #238

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
99 changes: 99 additions & 0 deletions website/docs/addon_usd_about_admin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
id: addon_usd_about_admin
title: About
sidebar_label: About
description: AYON USD Addon introduction for admins.
toc_max_heading_level: 5
---

import ReactMarkdown from "react-markdown";
import versions from '@site/docs/assets/json/Ayon_addons_version.json'

<div class="container">
<div class="row">
<div class=".col-sm-" style={{'margin-right':10+'px'}}>
<ReactMarkdown>
{versions.Core_Badge}
</ReactMarkdown>
</div>
<div class=".col-sm-" style={{'margin-right':10+'px'}}>
<ReactMarkdown>
{versions.USD_Badge}
</ReactMarkdown>
</div>
<div class=".col-sm-" style={{'margin-right':10+'px'}}>
<ReactMarkdown>
{versions.Houdini_Badge}
</ReactMarkdown>
</div>
<div class=".col-sm-" style={{'margin-right':10+'px'}}>
<ReactMarkdown>
{versions.Maya_Badge}
</ReactMarkdown>
</div>
<div class=".col-sm-" style={{'margin-right':10+'px'}}>
<ReactMarkdown>
{versions.Blender_Badge}
</ReactMarkdown>
</div>
</div>
</div>

## USD Addon Features

### USD Resolver Distribution

Currently, the usd addon is only responsible for downloading of USD binaries for AYON, along with pre-built AYON USD resolvers for various DCCs.

Once you enable and configure [Binary Distribution](addon_usd_admin.md#binary-distribution) setting, usd addon will download a matching AYON USD
Resolver automatically for the launched application (if there's a compatible build for it).

We provide multiple recent versions of major DCCs, like Houdini and Maya.

<!--
<span style={{color:'#1c2026',backgroundColor:'#00a2ed', borderRadius: '4px', padding: '2px 4px'}}>Windows</span>
<span style={{color:'#1c2026',backgroundColor:'#f47421', borderRadius: '4px', padding: '2px 4px'}}>Linux</span>
<span style={{color:'#1c2026',backgroundColor:'#e9eff5', borderRadius: '4px', padding: '2px 4px'}}>Darwin</span>
-->

:::tip Available Builds
**Resolver Application Paths** setting comes pre-configured with all of the available builds on our [lakeFS](https://lake.ayon.cloud) server.

- **Unreal**: <span style={{color:'#1c2026',backgroundColor:'#00a2ed', borderRadius: '4px', padding: '2px 4px'}}>Windows</span>
- `Unreal 5.4 Py 3.9`
- **Maya**: <span style={{color:'#1c2026',backgroundColor:'#00a2ed', borderRadius: '4px', padding: '2px 4px'}}>Windows</span> <span style={{color:'#1c2026',backgroundColor:'#f47421', borderRadius: '4px', padding: '2px 4px'}}>Linux</span>
- `Maya 2024.2 Py 3.10`
- `Maya 2025 Py 3.11`
- **Houdini**: <span style={{color:'#1c2026',backgroundColor:'#00a2ed', borderRadius: '4px', padding: '2px 4px'}}>Windows</span> <span style={{color:'#1c2026',backgroundColor:'#f47421', borderRadius: '4px', padding: '2px 4px'}}>Linux</span>
- `Houdini 19.5 Py 3.7`
- `Houdini 19.5 Py 3.9`
- `Houdini 20 Py 3.9`
- `Houdini 20 Py 3.10`
- `Houdini 20.5 Py 3.10`
- `Houdini 20.5 Py 3.11`
- **USD Standalone**: <span style={{color:'#1c2026',backgroundColor:'#00a2ed', borderRadius: '4px', padding: '2px 4px'}}>Windows</span> <span style={{color:'#1c2026',backgroundColor:'#f47421', borderRadius: '4px', padding: '2px 4px'}}>Linux</span>
- `USD 23.5 Py 3.9`
:::

### USD Workflow Plugins

The base functionality of our USD workflow, outlined in our [USD Artist Docs](category/usd), is implemented in the [ayon-core](https://github.com/ynput/ayon-core) addon and each DCC specific workflow is implemented in its related DCC addon. e.g. Houdini USD workflow is implemented in [ayon-houdini](https://github.com/ynput/ayon-houdini).
Therefore, there's no need to install the [ayon-usd](https://github.com/ynput/ayon-usd) addon to utilize our USD workflow.

:::caution Future Consideration
It is considered to move all the USD bits into [ayon-usd](https://github.com/ynput/ayon-usd) addon in a similar fashion to [ayon-deadline](https://github.com/ynput/ayon-deadline) addon.
:::


### Pinning

The AYON USD Resolver supports **pinning**, mapping an entity URI to a
resulting path without requiring a server connection. This is crucial for
(large) render farms to avoid the many resolves and server queries degrading
the server's performance.

<!-- **TODO** Explain how the pinning works technically and what env vars will be set to enable pinning in the resolver. -->

### API and Technical References

Looking for more technical documentation? The [AYON-USD Resolver repository](https://github.com/ynput/ayon-usd-resolver) contains more details about the resolver itself and provides a link to the [AYON USD Resolver API documentation](https://ynput.github.io/ayon-usd-resolver/index.html).
100 changes: 80 additions & 20 deletions website/docs/addon_usd_admin.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
id: addon_usd_admin
title: USD Admin Docs
sidebar_label: USD
title: USD Addon Settings
sidebar_label: Settings
description: AYON USD Addon documentations for admins.
toc_max_heading_level: 5
---

import ReactMarkdown from "react-markdown";
Expand Down Expand Up @@ -37,31 +39,89 @@ import versions from '@site/docs/assets/json/Ayon_addons_version.json'
</div>
</div>

:::tip
Currently, there's no need to install the [ayon-usd](https://github.com/ynput/ayon-usd) addon to utilize our USD workflow outlined in our [USD Artist Docs](category/usd).
## Binary Distribution
> Setting Location: `ayon+settings://usd/distribution`

The base functionality is implemented in the [ayon-core](https://github.com/ynput/ayon-core) addon and each DCC specific workflow is implemented in its related DCC addon. e.g. Houdini USD workflow is implemented in [ayon-houdini](https://github.com/ynput/ayon-houdini).
![](assets/usd/admin/binary_distribution.png)

For the future, it is considered to move all the USD bits into [ayon-usd](https://github.com/ynput/ayon-usd) addon in a similar fashion to [ayon-deadline](https://github.com/ynput/ayon-deadline) addon.

- **Server URL**: The URL for the USD binary distribution LakeFs server. It's recommended to keep the default value to use the USD builds we provide.
- **Repository URI**: The repository tag or branch URI within the LakeFs server.
- **Access Key ID**: The LakeFs server access key ID.
- **Secret Access Key**: The LakeFs server secret access key.

:::info Access Keys
These are currently not public, however they are provided upon request.

Reach out us on our website [ynput.io](https://ynput.io/contact/) or Forums [community.ynput.io](https://community.ynput.io/) or Discord Server [Ynput Community](https://discord.gg/ynput).
:::

## USD Addon Settings
Currently, the usd addon is only responsible for downloading of USD binaries for AYON, along with pre-built AYON USD resolvers for various DCCs.
### Resolver Application Paths
> Setting Location: `ayon+settings://usd/distribution/asset_resolvers`

![](assets/usd/admin/resolver_application_paths.png)

Define a specific Resolver Zip for a specific Application.

1. Each Application path group:
- **App Name**: Application name, e.g. `maya/2025`
- **Application Alias**: Define a list of App Names that use the same resolver.
- **Platform**: drop down menu to select the platform: `windows`, `linux` & `darwin`.
- **Repository Object Path**: The LakeFs internal path to the resolver zip, e.g: `AyonUsdResolverBin/Hou/ayon-usd-resolver_hou19.5_linux_py37.zip`. This information can be found on LakeFs server Object Information.
2. **+**: Add application path group

:::tip Application Alias
You won't need to modify this setting as it already comes pre-configured with all packages we provide.
Mostly, You will find the **Application Alias** setting more useful to you, where you can same resolver build with different version of an app (e.g. different patch version of Houdini 20.5)

![](assets/usd/admin/application_alias_usage.png)
:::

### Resolver Application Overrides
> Setting Location: `ayon+settings://usd/distribution/lake_fs_overrides`

![](assets/usd/admin/resolver_application_overrides.png)

> The snippet below is from an early version of the USD add-on, which is still in development.
Define a specific Resolver Zip for a specific Application.

![](assets/usd/admin/usd_addon_settings.png)
- Each Application override group:
- **App Name**: Application name, e.g. `maya/2025`
- **Platform**: drop down menu to select the platform: `windows`, `linux` & `darwin`.
- **Repository Object URI**: "Path to USD Asset Resolver plugin zip file on the LakeFs server, e.g: `lakefs://ayon-usd/V001/AyonUsdResolverBin/Hou/ayon-usd-resolver_hou19.5_linux_py37.zip`.
- **+**: Add application override group

## USD Workflow Settings
The USD workflow settings are currently limited. You can customize only the names and order of department layers at this stage.
## AYON USD Resolver Config
> Setting Location: `ayon+settings://usd/ayon_usd_resolver`

![](assets/usd/admin/ayon_usd_resolver_config.png)

AYON USD resolver Settings

- **Resolver Log Level**: Set verbosity of the AyonUsdResolver logger.
- **Resolver File Logger Enabled**: Enable or disable AyonUsdResolver file logger.
- **Resolver File Logger file path**: Set a custom location where the file logger will export to. This can be a relative or absolute path. This is only used if `ayon_file_logger_enabled` is enabled.
- **AyonCppApi Logging Keys**: List of extra logging options for the `AyonCppApi`.

## USD Library Config
> Setting location: `ayon+settings://usd/usd`

![](assets/usd/admin/usd_lib_config.png)

Settings for USD Library

- **Tf Debug Variable for Debugging USD**: It's value will be set to `TF_DEBUG` which allows you to inspect specific log outputs of Usd. Typical use cases are to check if plugins are loaded correctly or if data is properly being refreshed.

:::tip `TF_DEBUG`
For more info about `TF_DEBUG`, See0 [Debugging | lucascheller USD Survival Guide](https://lucascheller.github.io/VFX-UsdSurvivalGuide/pages/core/profiling/debug.html#debugging).

:::

- `ayon+settings://core/publish/CollectUSDLayerContributions`
## Publish plugins
### Process USD files to use relative paths
> Setting Location: `ayon+settings://usd/publish/USDOutputProcessorRemapToRelativePaths`

![](assets/usd/admin/usd_core_settings_1.png)
![](assets/usd/admin/process_usd_files_to_use_relative_paths.png)

:::tip
Hover over the `Order` field for more details on the strength ordering:
- Higher order means a higher strength and stacks the layer on top.
- Opinions from a layer that is on top are stronger than those below it.
- See the USD acronym [LIVRPS](https://remedy-entertainment.github.io/USDBook/terminology/LIVRPS.html) for more details on USD's strength ordering.
:::
- **Enable**: The default state of the plugin.
- **Optional**: Allows the user to toggle this setting in the publisher UI.
- **Active**: The default value of the toggle in the publisher UI.
Loading