Import Reference

The Import Reference option places elements of a saves scene file into a new scene, similarly to a regular import action. However, with referencing, a link is created between the two scenes. If the referenced scene is modified in any way, for example, an item is added or its surfacing is changed, the referenced elements automatically update in the master scene upon re-opening, reflecting the changes made. You can also initiate the update from the menu, without closing and opening the scene.

There are a number of reasons where this type of workflow is advantageous, such as building up complex scenes from many simple elements, making it easier to update individual elements without the overhead of the entire scene. Referencing also simplifies the update process, as one reference scene can be placed into many master scenes. Updates then only need to be applied to the single file. It is also beneficial when working with groups, where each user has a specific task that they work on, and a technical director combines final elements for rendering. Keeping elements as separate scene files also allows flexibility for later asset reuse. However it is used, referencing saves time and makes using Modo easier.

Using Import Reference

Any saved scene file can be imported as a reference, including other formats, such as .obj and .fbx. Files are loaded through the Import Reference command found in the menu bar.

1.   Click on File > Import Reference....

An OS-specific dialog opens, where the saved scene file is located.

2.   Select the file and click Open to open a dialog box, where you can specify the elements to import.

3.   In this dialog, check the box next to the items you would like to import into the master scene.

By default, Import Meshes, Import Materials & Shaders and Import Lights are enabled.

4.   Click OK to start the import.

Aside from the designated elements, any associated scene items are also imported, including locators, all necessary Shader Tree settings, like materials, shaders, light settings and environment settings, Library items, deformers, assemblies, bitmap images, sound files, dynamic items and particle simulations. All of the imported elements become visible in the 3D Viewports as first class citizens of the scene and appear in their designated lists, placed under an appropriate grouping element named after the referenced scene. You can open the groups to access and select the referenced items. References are clearly identified in the lists by a preceding small arrow img icon and the referenced scene's name appended to the item layer name.

Import Reference Item List

Updates and Overrides

Once a scene is imported as a reference, you can select, transform and render any of the imported elements normally. All referenced items appear as regular items within the master scene. When it is necessary to modify the referenced elements outside of standard transforms (position, rotate and scale), there are two ways to go about making the edits that depend on the type of editing needed and the desired results.

For changes that should specifically remain an integral part of the referenced scene (if necessary, so they can be propagated to other master scenes) or changes to the geometry or surfacing boundary, you should always edit the original source scene file. Locate and open the original referenced file, make the desired edits and save the file. The next time any master scene that contains that reference (also referred to as a sub-scene) is opened, the changes are automatically reflected in the referenced items. To manually update referenced elements within an open scene, use the command in the menu bar under Item > References > Reload Imported References.

The second way to update a referenced item is using an override. An override means any edit that is assigned to a referenced item within the master scene. Overrides are saved as part of the master scene itself and are not reflected in the original source reference file. These types of edits include channel value changes, structure changes, such as hierarchy and parenting changes, item deletions and item name changes. The ability to override channel values is governed by the Reference Override in Data Preferences, which is scene-specific. To open the Reference Override Settings dialog box, go to the menu bar and click Item > References > Edit Item Overrides.

The panel, shown here in its default state, lists the types of override operations with a control to determine whether the operation is allowed. The following operations are available:

Channel Overrides: changes made to any of the associated attributes of the item itself, such as modifications to the transform values or item-specific changes.

Name Overrides: changes to the referenced item's names (overrides are tracked by an internal ID assigned when the items are imported).

Structural Overrides: changes to the hierarchies of the referenced elements, meaning modifications to their ordering in parent child relationships or their positions within the Items lists.

Deletions: control whether referenced items can be removed from the master scene.

3D Selections: controls the selectability of the referenced elements in the 3D Viewports.

Each of these operations have four possible states governing them:

Always Allowed: override changes can always be made of the designated type.

Never Allowed: overrides cannot be assigned, editing of the referenced items is locked.

If Allowed by Item: overrides cannot be applied unless explicitly set as Enabled by the reference item setting.

Unless Disallowed by Item: Overrides can always be applied unless explicitly set as Disabled by the reference item setting.

The latter two settings are defined directly on the items, either within their source scenes or as referenced items within the master scene. This is assigned by selecting the target element to control, and then selecting the menu bar command Items > References > Item Override Settings, which opens the Item Override Settings dialog box.

The item override settings are defined per item and apply to any selected items when the menu is invoked, and saved with the item until explicitly changed. These settings provide a finer degree of control over the editability of the items when referenced in another scene (based on the operation types, explained above). The control states are:

Enabled: overrides can always be made unless set otherwise in the master scene.

Disabled: overrides cannot be made unless the setting allowing it is explicitly set in the master scene.

Defer to Reference: override assignments are controlled exclusively by the Reference Override Settings in the master scene.

Tip:  If you need different default reference override settings are desired, you can modify the Reference preferences setting to control the initial state of overrides in a scene.

With the settings that govern how overrides are controlled, applying overrides is a rather simple process. As a matter of fact, overrides are just normal edits made when the item is selected, either by modifying an attribute in the Properties panel, or by modifying any values in the Channels viewport, if allowed. When not allowed, the edit fields show up as dimmed input fields that cannot be selected. Name and structure overrides are assigned normally when changing the layer order of the referenced elements or by renaming the item in the normal way.

Overrides panel

All overridden values are stored in a separate action state within the master scene. If you need to remove an override, you can revert the settings to those of the source file in the References section of the Properties panel, appearing as a sub-tab whenever any referenced item is selected in the Items list (it doesn't matter which item is selected, as long as it is a reference). The panel itself displays a list of all the referenced elements within the scene and denoted how many modifications have been assigned and of which type.

Within the panel, you can right-click over a selected element to open a contextual menu that allows them to Revert Channel Overrides. Selecting the option removes the edits.

Note:  Structure and name overrides cannot be restored this way.

References Contextual Menu

There are several options related to references, in the menu bar under Item > References. The same options are also available in the Item contextual menu by right-clicking over the target element in the Items list and selecting the References section from the pop-up menu. The following commands are available:

Edit Reference Overrides...: opens the scene-wide reference override settings panel, explained in Updates and Overrides.

Edit Item Overrides...: opens the item-specific reference override settings panel.

Replace Imported Reference/Replace All Related Imports: these two options allow you to easily replace a referenced scene while retaining any override settings, if possible. Selecting either option opens an OS specific dialog that allows you to select an alternate file to be imported to replace the desired elements. Once selected, click Open to display a dialog box allowing you to suppress different items from the new reference source scene.

The difference between the two commands is the All Related option of this panel. When enabled, all the associated items within the same sub-scene are replaced by the new import. When disabled, only the selected elements are replaced. If overrides have been applied to the referenced items in the scene, when the new items are loaded, Modo tries to apply the same settings to the corresponding items, resolved by item name. If matching names cannot be found, the overrides are discarded.

Delete Imported Reference/Delete All Related Imports: These options allow you to remove referenced items one by one, or by all associated items within the same sub-scene.

Reload Imported References: This option forces Modo to reload the sub-scene into an open Master Scene, based on the sub-scene associated to the selected referenced item when the command is invoked. This picks up any changes made to the referenced sub-scene, if they were make externally while the master scene was opened. Users should note that referenced sub-scenes cannot be loaded while a master scene that contains that reference is open.

Note:  Referenced items cannot be duplicated or instanced by standard means in the master scene. If there is a need to have more than a single item from any referenced scene, it's best to use the Import Reference option again to create the additional copy.

General Notes for Working with References

A referenced source scene cannot be opened at the same time as its master scene. You must first close any master scenes that contain the reference before opening them for editing. However, in a workgroup situation, it is possible for a referenced scene, saved to a network, to be edited on another machine and then saved back to the network. The Reload Imported References command triggers the update to the master file.

Items in Modo do not have transform channels by default (position, rotate, scale). They are added automatically when a transform is applied or the channels are explicitly added to the item. In order for referenced item transforms to be overridden in a master scene, the channels must first be present on the item when referenced, otherwise any animation on the item in the master scene is treated as a local transform.

Geometry component edits such as adding new polygons to an object cannot be assigned as an override. Geometry changes must be applied in the original source scene.

When overrides are applied to an item in the Master scene that is then deleted in the source scene, the override values are discarded, and are no longer saved with the Master scene.

Due to the way that Modo searches for links when loading files (using relative paths, for example, relative to their save location), referenced files with identical names, but in different folders may load incorrectly. To avoid such issues, it is highly recommended to give all files unique names.

Certain global settings cannot be imported when files are referenced, like preference settings, scene-specific settings (such as FPS and scene length, and color management; although setting on individual items are retained), render outputs, or the settings of the render item itself, such as the frame size and resolution.