> [!abstract] Summary > **SOP Modify LOP** — bring a USD prim into a **SOP context** for SOP-level modification (boolean, deform, attribute transfer, full SOP-network editing), then write the result back to the stage. Supports **static or animated** prims, selectable **purpose** (`render` / `proxy` / both), and you must **unpack** the prim if you want to edit individual points/prims. --- # SOP Modify - Lets you **bring a prim into the SOP context** for full SOP-network editing. - Works on **static or animated** prims. - Pick the **purpose** to modify — `render`, `proxy`, or both. - **Unpack** the prim if you want to make modifications at the point / primitive / vertex level (otherwise it stays packed). ![[Pasted image 20250604153300.png|750]] --- # Typical Uses - **Boolean / cut** a USD asset that doesn't have boolean support natively. - **Attribute transfer** from a SOP-side curve onto the USD geo (e.g. paint a per-prim attribute on a static asset). - **Deformation** — apply a SOP-level deformer (twist, bend, point deform) and let it propagate back to USD. - **Cleanup** — run a Clean SOP / Fuse / PolyReduce on imported geo. > [!tip] Watch for performance > SOP Modify breaks the lazy USD evaluation — geometry is now fully loaded and re-cooked through SOPs. Only use it where you really need SOP-level access. For everything else, prefer LOP-native nodes. --- # 🔗 Related - [[../SOLARIS MOC|SOLARIS MOC]]. - [[SOLARIS Mesh Edit|SOLARIS Mesh Edit]] — LOP-side mesh attribute editing (subdivision, etc.) without going to SOPs. - [[SOLARIS Geometry settings|SOLARIS Geometry Settings]] — render-time overrides without re-cooking SOPs. - [[../../../HOUDINI MOC|HOUDINI MOC]] — SOP context fundamentals.