File referencing allows you to assemble multiple objects, shading materials, animation, and so on, into a scene without importing the files into the scene. That is, the contents that appear in the scene are read or referenced from pre-existing files that remain separate and unopened. File referencing empowers you with collaborative production in situations where multiple users need to work concurrently and share various assets in complex scenes. File referencing accomplishes this by allowing users to segment scenes as required to suit the production workflow.
A scene file that references other files lower in the hierarchy is known as a parent scene. A parent scene reads or references other files that make up a scene from where they reside on disk (or on a network). These files are known as referenced child scenes.
Even though the referenced child scenes appear within the currently open parent scene they remain separate from the currently open parent scene at all times. When the currently open parent scene file is saved, any referenced scene data is not saved within it.
Once a child scene has been referenced into the currently open parent scene, the contents of the child scene are placed in memory, and displayed in the scene. This initial state for a referenced file is referred to as being loaded. Other child scenes can be loaded in the currently open parent scene simultaneously. Users have the ability to load, unload, or re-load their referenced child scene files, depending on their production requirements, from within the currently open parent scene file.
When a referenced child scene is unloaded, the connection between the referenced child scene and its parent and grandparent scenes is suspended. That is, the contents of the referenced child scene file are no longer loaded in memory within the currently open parent scene. Users can also load an unloaded referenced child scene when they initially open the parent scene file using the Selective Preload option.
Users can also apply edits to the referenced objects in their currently open parent scene without modifying the original referenced child scenes that are lower in the referencing hierarchy. Any edits applied to the referenced objects while working within the currently open parent scene remain stored in a node that is created in the currently open parent scene when the child scene is first referenced. This node is called a reference node. A reference node is created for each child scene that gets referenced into a parent scene. The reference node keeps track of how the parent scene uses and modifies objects contained within a referenced child scene.
Parent scenes can also, in turn, reference other parent scenes, and so on. That is, a parent scene can both reference other files, and be a referenced child of another parent scene based on its relative position within the file referencing hierarchy. When this occurs, the child scene files are referred to as grandchild scene files and so on. This hierarchical referencing of a parent scene that is in turn referencing other child scenes that in turn references other grandchild files is referred to as multi-level referencing.
A hierarchy of multi-level references is one method for segmenting various components and levels of display complexity within a complex scene. Typically, file referencing hierarchies are constructed from the bottom up. That is, grandchildren scenes are referenced into children scenes, which in turn are referenced into the parent scene.
It is possible to directly import the data from a scene that was previously referenced. In doing so, the previous reference connection is broken. You can export selected items from a file as references. Items exported as references become child scenes of the currently open scene file.