Nodes/ComfyUI-RTX-Remix/RTX Remix Get Textures
ComfyUI Node

RTX Remix Get Textures

Pull the actual textures out of your RTX Remix project into ComfyUI

By NVIDIAGameWorks·Created 2 years ago·Updated 6 days ago· 71
RTX Remix Get Textures
  • context
  • context
  • usd_attributes
  • texture_names
  • textures
  • masks
return_selectionfalse
filter_session_primsfalse
enable_this_nodetrue
asset_hashes
texture_types
layer_id
existsfalse

This is the read side of the pack's texture story. Where RTX Remix Set Texture writes a texture path onto an asset and RTX Remix Ingest Texture sends a generated image into the Toolkit, RTX Remix Get Textures goes the other way: it asks the currently open project for textures matching your criteria and hands them to ComfyUI as actual images and masks. In other words, this is the node that makes an RTX Remix project a source for your AI pipeline, not just a destination.

Mechanically it's a GET /stagecraft/textures call with filters, and the reply gets decoded into four parallel lists:

  • usd_attributes (STRING list) - the USD attribute paths each texture lives on. This is the handle you feed back into Set Texture later.
  • texture_names (STRING list) - friendly names (the file stem).
  • textures (IMAGE list) - the actual pixel data, loaded from disk and normalized, ready for any standard ComfyUI image node.
  • masks (MASK list) - built from each texture's alpha channel (inverted, if the texture has alpha). Textures without alpha get a zero mask.

The filters that matter:

  • return_selection (BOOLEAN) - only grab textures currently selected in the Toolkit.
  • filter_session_prims (BOOLEAN) - restrict to session prims.
  • asset_hashes (STRING, optional) - keep only textures from these asset hashes (comma-separated).
  • texture_types (STRING, optional) - comma-separated types like DIFFUSE,ROUGHNESS; feed it from RTX Remix Texture Types to avoid typos.
  • layer_id (STRING, optional) - scope to a single layer.
  • exists (BOOLEAN, optional) - filter on whether the file exists on disk.

Like the other read nodes, it always re-executes (no caching), because the project's selection and contents can change in the Toolkit between runs.

Install: it ships in NVIDIAGameWorks/ComfyUI-RTX-Remix. ComfyUI Manager (search "RTX Remix") or:

cd ComfyUI/custom_nodes
git clone https://github.com/NVIDIAGameWorks/ComfyUI-RTX-Remix
# restart ComfyUI

Needs ComfyUI v0.3.48+ (V3 schema) and a running Toolkit with a project open. The pack's dependencies (requests, pillow, numpy, torch) cover the image decoding.

Where people get burned: the node raises if it finds no textures matching your criteria - empty results are an error, not a silent empty list. So make your filters match reality: check the layer ID, the texture types, and that return_selection isn't on when nothing's selected. And if textures comes back empty while usd_attributes doesn't, that's the "file vanished from disk" case - the node skips paths that don't exist. If you're building an upscale-and-replace loop, the dream pipeline is: Get Textures → process in ComfyUI → Ingest TextureSet Texture on the matching usd_attribute, all sequenced by the context chain.

CategoryRTXRemix/textures

Inputs (8)

NameTypeDefaultDescription
return_selectionBOOLEANfalse
filter_session_primsBOOLEANfalse
contextRTXRemixContext
enable_this_nodeBOOLEANtrue
asset_hashesoptSTRING
texture_typesoptSTRING
layer_idoptSTRING
existsoptBOOLEANfalse

Outputs (5)

NameTypeDescription
contextRTXRemixContext
usd_attributesSTRING
texture_namesSTRING
texturesIMAGE
masksMASK