> [!abstract] Summary > **Clean attributes before USD export** — Houdini SOP attributes don't all need to travel into the USD layer. Use the **Attribute Delete** SOP to strip everything except what USD actually needs (`path` on primitives, `P` on points, `uv` / `N` on vertices). Keep shading-specific attributes only when needed. --- # Cleaning Attributes Before USD Export Use the **Attribute Delete** SOP just before publishing to USD: ![[image-20230331.png]] ## What to Keep Unless you have shading-specific attributes you need to preserve: | Class | Keep | |---|---| | **Primitive** | `path` | | **Point** | `P` | | **Vertex** | `uv`, `N` | Everything else can usually be removed. ## What to Remove - `Cd` (display color) — unless required by lookdev. - Random debug attributes left over from SOP iterations. - Intermediate computation attributes (`@dist`, `@mask`, `@piece`, etc.) that have no value past the export point. > [!tip] Why cleaning matters > USD layers carry every attribute downstream — keeping useless attributes bloats the cache, slows down stage loading, and noises up the scene graph. The smaller the published USD, the snappier the pipeline. --- # 🔗 Related - [[SOLARIS MOC|SOLARIS MOC]]. - [[NODES/SOLARIS Component builder - Explore Variants|Component Builder]] — where the USD publish actually happens. - [[../../../PROTOCOL/USD/Notes/USD KNOWLEDGE/USD terms and definitions|USD Terms & Definitions]] — Primvar vs Attribute. - [[../../../PROTOCOL/OPTIMISATION/OPTIMISATION MOC|OPTIMISATION MOC]] — pipeline-level cleanup.