Softimage SDK Programmer's Guide > Customizing with the SDK > Custom Properties >

# What are Custom Properties?

In short, custom property sets hold data (as a set of parameters), custom property pages display data (in a dialog using user-interface controls), but they are closely tied together and are often referred to by the more generic term custom properties.

More specifically, a set of custom parameters defined as a CustomProperty or CustomProperty object contains pure data. The layout for a property page is defined in conjunction with the parameter data as a PPGLayout or PPGLayout object. The property page itself as a PPG or PPG or PPG object combines the information from the data and the layout and displays the information and any other custom controls, messages or images defined for that page.

The user can then view and modify the set of parameters defined on that custom property set along with using any logic defined for the dialog layout.

Tip

Not all property pages are tied to parameters that affect real scene data. For example, you can create parameters that hold temporary data only used for the duration of the property page, such as a Bimap Control that displays your company's logo.

More about Custom Property Sets

A custom property set represents a set of related parameters that can be attached to a scene item, such as a 3D Object or the Scene_Root. The individual parameters can be standard data types (integers, booleans, doubles, strings) or more complex Softimage data types such as RGB/RGBA colors, fcurves and GridData or GridData (2-dimensional arrays).

Note

Over the course of time a few different names have been used to describe these objects, including:

- Custom Property Sets

- Custom Parameter Sets

- CustomParamList

- Custom PSet

All these are equivalent to the custom property set (CustomProperty object) described in this section.

Custom properties are one of the most useful tools available to plug-in developers. These objects can be used to store custom 'user' data in a scene, centralize the control of other parameters (via Proxy Parameters and Marking Sets) and build user interfaces. For example, CustomProperty objects can be used to store Game Engine attributes inside a scene, or to display a dialog box with settings for an Import plug-in. Custom Properties make a large range of UI widgets available.