Softimage SDK Programmer's Guide > Customizing Softimage using the SDK > Building and Deploying Customizations >

# Working with the Plug-in Tree

The Plug-in Tree is a hierarchical view of the plug-ins installed in Softimage. The tree lists the plug-ins, toolbars, views, and add-ons found in various locations on the file system:

- User Root, which is the location of the user's personal customizations (for example, C:\users\tamu\Softimage\Softimage_2013 or ~/Softimage/Softimage_2013).

- Factory Root, which is the location of the plug-ins shipped with Softimage (for example, C:\Softimage\Softimage_2013).

- Workgroups

- Custom locations, which are locations specified by the XSI_PLUGINS environment variable

- Folder locations of plug-ins loaded after Softimage starts up (for example, plug-ins loaded manually from the Plug-in Manager)

The Plug-in Tree provides a focused view of the plug-ins installed in Softimage. The tree does not show every file and folder in every location; instead, the tree provides a higher-level view. For example, the tree lists the plug-ins and plug-in items (such as commands, operators and properties), not the individual source files that contain the plug-in implementations.

However, when you need access to the file system, you can open Softimage command prompts, Softimage file browsers, and Microsoft Explorer windows from the Plug-in Tree.

The Plug-in Tree allows you to edit, create, and manage plug-ins and other customizations. For example, you can create commands, operators and properties using wizards, load and unload plug-ins, install add-ons, create new toolbars, drag commands to the toolbars, and drag plug-ins from one location to another.

To perform actions in the Plug-in Tree, you either use the command buttons (such as File and Selection) at the top of the Plug-in Tree tab, or you can right-click nodes in the tree to display context menus.

Legacy addons are addons are not installed in these workgroup folders:

- Application\Plugins

- Addons\<AddonName>\Application\Plugins

For example, if an add-on installs files in the folder MyWorkgroup\Addons\Application\Plugins, that add-on will appear under Legacy Addons in the plug-in tree.

## Plug-in Tree Command Buttons

Button | Description
--- | ---
File | Provides general-purpose commands that apply to all plug-ins or to the Plug-in Tree as a whole. File New provides access to wizards for creating plug-ins, shaders, and toolbars. By default, the wizards create the plug-ins in the User location. To create a plug-in in a specific location, expand the location in the tree, right-click the Plug-ins folder, click New, and choose the type of plug-in you want to create. File Load Plug-in opens a browser that allows you to locate and load plug-ins. File Update All reloads all self-installing plug-ins. File Show Errors expands the Plug-in Tree to show the plug-ins that caused errors during loading. File Preferences allows you to configure how Softimage resolves conflicts when it finds multiple copies of the same plug-in, and what information is displayed in the Plug-in Tree
Selection | Provides commands that apply to the currently selected node in the Plug-in Tree. You can access the same commands by right-clicking a node in the tree. For example, to create a new toolbar in a workgroup, right-click the Toolbars folder and then choose New Toolbar.
Load | Loads a self-installing plug-in.
Update All | Reloads all self-installing plug-ins.

## Working with Plug-ins

To do this | Do this
--- | ---
Create a self-installing plug-in | In the Plug-in Tree, expand a location (such as a workgroup or an Add-on directory) and right-click the Plugins folder. Click New and choose the type of plug-in you want to create (Command, Operator, Property, or Event). Choose New Empty Plug-in if you want to create a different type of plug-in, such as a filter.
Edit a self-installing plug-in | Do one of the following: Right-click a plug-in and choose Edit. Drag the plug-in to a script editor.
Run a command | Expand a plug-in, right-click the custom command, and choose Invoke <Command-Name>, where <Command-Name> is the actual name of the command.
Create a property | Expand a plug-in, right-click the property, and choose Create Property. This adds the custom property to the scene root and opens the property page.
Unload a plug-in | Right-click the plug-in and choose Unload. To load the plug-in again, you have to click Load or Update All, or use the LoadPlugin command. If the plug-in is in a workgroup, you could disable and then re-enable the workgroup (rescanning the workgroups reloads all workgroups).
Update a plug-in | Right-click the plug-in and choose Update. This unloads and reloads the plug-in.
Delete a plug-in | Right-click the plug-in and choose Delete.
Cached | Right-click the plug-in and click Cached to clear the check mark.

## Working with Toolbars

To do this | In the Plug-in Tree, do this
--- | ---
Create a toolbar | Expand a location (such as a workgroup or an Add-on directory) and right-click the Toolbars folder. Choose New Toolbar.
Add a command to a toolbar | Double-click the toolbar to open it. Then drag a custom command from the Plug-in Tree to the toolbar.
Edit a toolbar | To customize a toolbar, double-click the toolbar to open it. Then right-click the toolbar and choose Customize Toolbar. To edit the .xsitb file, do one of the following: Right-click a toolbar and choose Edit. Drag the toolbar to a script editor. Note You can edit a toolbar directly in a workgroup (as long as the file is not read-only).

## Working with Add-ons

To do this | In the Plug-in Tree, do this
--- | ---
Package an add-on | Right-click an add-on and choose Package Add-on. In the Package Location Options dialog box, set the packaging options: Source is the location of the Add-on directory. The .xsiaddon file will contain everything under the source folder. Destination is where the .xsiaddon file will be created. Directories to Exclude is a semi-colon (;) separated list of folders that you do not want to include in the .xsiaddonfile.
Install an add-on | Right-click the first workgroup in the tree, and choose Install .xsiaddon. In the Select Add-on File, Locate the .xsiaddon file and click OK. If you want to install an add-on in a different workgroup (a workgroup that is not first in the tree), click the Workgroup tab, click the workgroup, and then click Move Up until the workgroup is the first workgroup.
Uninstall an add-on | Right-click the add-on node and then choose Uninstall Add-on.
Generate a help page for an add-on | Right-click an Add-on and choose New Add-on Help. Type a brief description and click OK.

## Opening Command Prompts

From the Plug-in Tree, you can start a Softimage command prompt in a workgroup folder, an Add-on directory, and many other locations.

To open a command prompt, right-click a workgroup, add-on, plug-in, or other node and choose Command Prompt.

When you open a command prompt from the Plug-in Tree, the command prompt inherits the Softimage environment variable settings. Note that while Softimage is running, it modifies the user environment variables TMP and TEMP to point to a temporary folder created by Softimage.

If you start Microsoft Visual Studio from the command prompt, Visual Studio will use the TMP folder for intermediate files. This in itself is not a problem, but the next time you start Visual Studio (perhaps days later), or if you exit Softimage and keep Visual Studio open, the TMP environment variable will be different, and you will get errors like this when you try to build your project:

    c1xx : fatal error C1083: Cannot open compiler intermediate file: 'C:\DOCUME~1\sblair\LOCALS~1\Temp\XSI_Temp_2116\_CL_aaa04008ex': No such file or directory