## UnnestShaders

### Introduced

v7.0

### Description

Unnests shaders from a shader container (compound or material).

### Scripting Syntax

    UnnestShaders( InputObjs, ShaderContainer );

### Parameters

Parameter | Type | Description
--- | --- | ---
InputObjs | String | Shaders to unnested. Default Value: If not specified, the user is prompted to make a selection.
ShaderContainer | String | The container to unnest the shaders from. Default Value: ""

### Examples

#### Python Example

    #
    # This example demonstrates how to use the UnnestShaders command.
    #
    null = None
    true = 1
    false = 0
    app = Application
    app.NewScene(null, false)
    app.CreatePrim("Sphere", "MeshSurface", null, null)
    # Create a Shader Compound Containing Phong
    app.CreateShaderCompound("Sources.Materials.DefaultLib.Scene_Material.Phong", null)
    # Create 2 shaders under the material
    app.CreateShaderFromPreset("Shaders\\Texture\\Cell.Preset", "Sources.Materials.DefaultLib.Scene_Material", null)
    app.CreateShaderFromPreset("Shaders\\Texture\\Checkerboard.Preset", "Sources.Materials.DefaultLib.Scene_Material", null)
    # Nest both shaders under the shader compound
    shadersToNest = "Sources.Materials.DefaultLib.Scene_Material.Cell,Sources.Materials.DefaultLib.Scene_Material.CheckerBoard"
    app.NestShaders( shadersToNest, "Sources.Materials.DefaultLib.Scene_Material.ShaderCompound" )
    # Unnest one shader from the shader compound. A this point the shader does not
    # have a parent, you should always renest it under a container.
    shadersToUnnest = "Sources.Materials.DefaultLib.Scene_Material.ShaderCompound.Cell"
    app.UnnestShaders( shadersToUnnest , "Sources.Materials.DefaultLib.Scene_Material" )
    # Renesting under the material.
    app.NestShaders( shadersToUnnest , "Sources.Materials.DefaultLib.Scene_Material" )

### See Also

CreateShaderFromPreset CreateShadersFromMaterialPreset CreateShaderFromCLSID CreateShaderFromProgID CreateShaderCompound NestShaders AddShaderCompoundPort RemoveShaderCompoundPort MoveShaderCompoundPort RenameShaderCompoundPort ExportShaderCompound ImportShaderCompound ExplodeShaderCompound SetShaderCompoundPropertiesEx GetShaderCompoundProperties EditShaderCompoundPPGLogic