When creating VOP-based shaders, whether as a standalone asset or as part of another asset, ensure that all parameters at the top level come from parameter VOPs inside the shader and not as edited parameters created through Type Properties > Parameters tab. Otherwise, the shader will not function correctly after copy-protection.
VOP networks should not reference any external parameters using
ch or similar commands. This can be checked by turning on "Show References to External Nodes" in Network Editor Display Options under the Dependency tab. If the VOP network needs to reference an external parameter, it should create a VOP Parameter node whose value one level up can optionally reference any other parameter on any other node.
This happens because during compilation all VOP nodes are discarded.