USD Resolver URI | Loaded but not resolving on Render Farm

Hello, I am trying to get the USD resolver to work on our Deadline farm, but with no success. When using the URI, it keeps rendering black frames. When examining the log with TF_DEBUG variables set to SDF_* & AR_*, I get the following (see screenshot):

To me, this indicates that the resolver is not correctly being loaded for some reason, but at the start of the log, it does suggest otherwise.

Any ideas what is causing this? Do I have something configured wrong?

@mustafa_jafar just recently you tested this, right? Any chance you know more?

You can know that the resolver is working by seeing something like in the log

2026-02-12 17:41:47: 0: STDOUT: >>> [ Initializing USD asset resolver for application: houdini/21 ]

You can keys for TF_DEBUG here. Let me quote:

Useful Keys for TF_DEBUG:

  • AYONUSDRESOLVER_RESOLVER
  • AYONUSDRESOLVER_RESOLVER_CONTEXT
  • AYONUSDRESOLVER_*
  • PLUG_*

For more info about TF_DEBUG, See Debugging | lucascheller USD Survival Guide.

It is loading the resolver:

2026-03-02 09:41:46: 0: STDOUT: >>> [ Initializing USD asset resolver for application: houdini/21-0 ]

with TF_DEBUG set to AYONUSDRESOLVER_* I am getting

"not found in this context, trying next"
"AYON URI could not be resolved"

Could you add more information ?

  • does the specified product exist.
  • does it work in your DCC locally. (keeping the TF debug set to AYONUSDRESOLVER_* shows log in Houdini console)

The product does exist in the project product list, and I am able to load it in a DCC like Houdini 21.0.512.

houdinilogs.txt (11.8 KB)
This is the log from Houdini to me, this all seems normal and how it is meant to be.

__render___pin.json (2.1 KB)
The pinning file also look fine to me the one that is generated on a render publish, I have checked if it get added as en env on deadline.

Update

We’re running the farm on Windows. The resolver was failing because the AYON URI string in the pinning file did not match the URI string the USD resolver was trying to resolve on the farm.

What is happening

The pinning file originally stored keys in a Windows-style format:

ayon:\\USD_testing\\04_vfx\\03_assets\\prop\\testing2?product=usdAsset7&version=1&representation=usd

But on the farm the resolver tries to resolve this URL-style:

ayon://USD_testing//04_vfx/03_assets/prop/testing2?product=usdAsset7&version=1&representation=usd

Since the resolver does an exact lookup in the pin data, it couldn’t find the ayon://... key, resulting in “not found in this context” / “AYON URI could not be resolved”.

Example

Old pinning file, generated by AYON:

{
  "ayon_resolver_pinning_data": {
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\work\\mdl\\houdini\\ayon\\renderModelMain\\usd\\USD_testing2_mdl_model_v057\\renderModelMain\\__render__.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\work\\mdl\\houdini\\ayon\\renderModelMain\\usd\\USD_testing2_mdl_model_v057\\renderModelMain\\__render__.usd",
    "ayon:\\USD_testing\\04_vfx\\03_assets\\prop\\testing2?product=usdAsset7&version=1&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\USD_testing2_mdl_usdAsset7_v001.usd",
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\payload.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\payload.usd",
    "ayon:\\USD_testing\\04_vfx\\03_assets\\prop\\testing2?product=usdAsset7_model&version=1&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7_model\\v001\\USD_testing2_mdl_usdAsset7_model_v001.usd",
    "ayon:\\USD_testing\\04_vfx\\03_assets\\prop\\testing2?product=modelVarA&version=14&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\model\\modelVarA\\v014\\USD_testing2_mdl_modelVarA_v014.usd",
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_geo\\v005\\USD_testing2_mdl_modelVarA_geo_v005.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_geo\\v005\\USD_testing2_mdl_modelVarA_geo_v005.usd",
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_model_VarA\\v005\\USD_testing2_mdl_modelVarA_model_VarA_v005.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_model_VarA\\v005\\USD_testing2_mdl_modelVarA_model_VarA_v005.usd",
    "ayon_pinning_data_entry_scene": "Y:/USD_VP_USD_testing/04_vfx/03_assets/prop/testing2/work/mdl/houdini/ayon/renderModelMain/usd/USD_testing2_mdl_model_v057/renderModelMain\\__render__.usd"
  }
}

Working Pinning file:
I got it working by manually modifying the pinning file to use the ayon://... format (matching what the farm resolver requests):

{
  "ayon_resolver_pinning_data": {
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\work\\mdl\\houdini\\ayon\\renderModelMain\\usd\\USD_testing2_mdl_model_v057\\renderModelMain\\__render__.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\work\\mdl\\houdini\\ayon\\renderModelMain\\usd\\USD_testing2_mdl_model_v057\\renderModelMain\\__render__.usd",

    "ayon://USD_testing//04_vfx/03_assets/prop/testing2?product=usdAsset7&version=1&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\USD_testing2_mdl_usdAsset7_v001.usd",

    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\payload.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7\\v001\\payload.usd",

    "ayon://USD_testing//04_vfx/03_assets/prop/testing2?product=usdAsset7_model&version=1&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\usdAsset7_model\\v001\\USD_testing2_mdl_usdAsset7_model_v001.usd",

    "ayon://USD_testing//04_vfx/03_assets/prop/testing2?product=modelVarA&version=14&representation=usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\model\\modelVarA\\v014\\USD_testing2_mdl_modelVarA_v014.usd",

    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_geo\\v005\\USD_testing2_mdl_modelVarA_geo_v005.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_geo\\v005\\USD_testing2_mdl_modelVarA_geo_v005.usd",
    "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_model_VarA\\v005\\USD_testing2_mdl_modelVarA_model_VarA_v005.usd": "y:\\USD_VP_USD_testing\\04_vfx\\03_assets\\prop\\testing2\\publish\\mdl\\usd\\modelVarA_model_VarA\\v005\\USD_testing2_mdl_modelVarA_model_VarA_v005.usd",

    "ayon_pinning_data_entry_scene": "Y:/USD_VP_USD_testing/04_vfx/03_assets/prop/testing2/work/mdl/houdini/ayon/renderModelMain/usd/USD_testing2_mdl_model_v057/renderModelMain/__render__.usd"
  }
}

Hi @Wouter,

Which version of ayon-usd addon are you using? I think this issue was fixed in this PR which was merged into the develop branch. However, the release has not been made since then.

Hi @tadeas_hejnic

We are using ayon-usd 0.1.4+dev from the delopment branch. I will give updating the dev bundle a g, I not sure if this PR is part of it yet.

This has fixed it, look like we where on a slightly outdate version of the dev branch.

1 Like