> [!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.