# CustomOptions¶

Applies arbitrary user-defined options to the root of the scene. Note that for most common cases the StandardOptions or renderer-specific options nodes should be preferred, as they provide predefined sets of options with customised user interfaces. The CustomOptions node is of most use when needing to set am option not supported by the specialised nodes.

## user¶

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

## out¶

The processed output scene.

## enabled¶

The on/off state of the node. When it is off, the node outputs the input scene unchanged.

The input scene

## options¶

The options to be applied - arbitrary numbers of user defined options may be added as children of this plug via the user interface, or using the CompoundDataPlug API via python.

## extraOptions¶

An additional set of options to be added. Arbitrary numbers of options may be specified within a single IECore.CompoundObject, where each key/value pair in the object defines an option. This is convenient when using an expression to define the options and the option count might be dynamic. It can also be used to create options whose type cannot be handled by the options CompoundDataPlug.

If the same option is defined by both the options and the extraOptions plugs, then the value from the extraOptions is taken.

## prefix¶

A prefix applied to the name of each option. For example, a prefix of “myCategory:” and a name of “test” will create an option named “myCategory:test”.