Go to: Attributes.

When a reference is unloaded, a reference node keeps track of the changes made to objects in the reference file. When the reference is reloaded, the changes stored in the reference node are restored to the reference.

Reference nodes store connections between attributes in a scene and attributes in the reference; connections between attributes contained in the reference, but that are not part of the reference file; dynamic attributes on node in the reference file, but where the attributes were not defined in the reference file; setAttrs made after the file was referenced; and internal broken reference connections.

There are four lists of changes that are saved: Connections, setAttrs, addAttrs, and broken connections.

The connections list is a compound multi, with one child being a generic attributes which can be connected and the other being the name of the attribute in the reference file that used to be connected.

The setAttr list is a multi with a command which sets an attribute to its state before the reference was unloaded.

The addAttr list is a multi of strings, where each string is a command to add an attribute to a referenced node.

The brokenConnection list is a multi of strings, when each string is a command to break a referenced connection.

Node nameParentsMFn typeCompatible function sets
referencenode
kReferencekBase
kNamedObject
kDependencyNode
kReference

Attributes (22)

addAttrList, associatedNode, brokenConnectionList, connection, connectionAttr, connectionList, deleteAttrList, edits, fileNames, fosterParent, fosterSiblings, locked, multiParent, multiParentList, parentList, placeHolderList, placeHolderNamespace, proxyMsg, proxyTag, setAttrList, sharedReference, unknownReference

Long name (short name)TypeDefaultFlags
fileNames (fn) stringNULLarrayoutputinputconnectablestorable
This attribute is a list of files used by the reference. The purpose is to maintain a list to quickly swap maya files without needing a file browser.
connectionList (cl) compoundn/aarrayoutputinputconnectable
This multi compound stores a connection and a string with the name of the attribute that used to be on this end of the connection.
connectionAttr (ca) stringNULLoutputinputconnectable
The name of the attribute that used to be connected before the reference was unloaded.
connection (c) GenericNULLoutputinputconnectable
A generic attribute used to keep a connection when the reference is unloaded.
setAttrList (sl) stringNULLarrayoutputinputconnectable
A list of setAttr commands.
addAttrList (al) stringNULLarrayoutputinputconnectable
A list of addAttr commands.
deleteAttrList (dl) stringNULLarrayoutputinputconnectable
A list of deleteAttr commands.
brokenConnectionList (bl) stringNULLarrayoutputinputconnectable
A multi containing strings which are executed to break internal connections in a reference file.
parentList (pl) stringNULLarrayoutputinputconnectable
A list of parent commands.
fosterParent (fp) Messagen/ainputconnectablehidden
This message attribute allows a connection from the foster parent transform to the referenceNode. Since there is at most one foster parent transform per referenceNode, we use this attribute to determine the foster parent associated with a reference node.
fosterSiblings (fs) Messagen/aarrayinputconnectablehidden
This message attribute allows a connection to this referenceNode from each intermediate node of its foster parent. An intermediate node is created when a there are multiple nodes with the same name that need to be parented to the foster parent (i.e. when a main scene node has been instanced under a referenced node).
placeHolderList (phl) GenericNULLarrayoutputinputconnectablestorable
A generic attribute used to keep a connection when the reference is unloaded.
multiParentList (mpl) compoundn/aarrayoutputinputconnectablestorable
A generic attribute used to keep a connection between multi parents when the reference is unloaded. This is a multi compound containing a multi (aMultiParent) as its compound child. aMultiParent is actually used to stored the connection.
multiParent (mp) GenericNULLarrayoutputinputconnectablestorable
A generic multi attribute used to keep a connection between multi parents when the reference is unloaded.
edits (ed) referenceEditsNULLoutputinputconnectablestorable
This attribute stores information about the modifications ("edits") that have been made to nodes in the reference. This attribute should not be accessed directly - please use the "List Reference Edits..." window, referenceEdit command, and referenceQuery command instead.
proxyTag (ptag) stringNULLoutputinputconnectablestorable
This string is the proxy tag associated with this reference.
proxyMsg (pmsg) Messagen/aoutputinputconnectablehidden
This message attribute allows a connection from the proxy manager to the reference node when the reference node is being used as a proxy.
unknownReference (ur) Messagen/aoutputinputconnectable
This message attribute is used to connect a particular scenefile's unknown reference node to all the other reference nodes in that scenefile.
sharedReference (sr) Messagen/aoutputinputconnectable
This message attribute is used to connect a particular scenefile's shared reference node to all reference nodes in that scenefile which contain shared nodes.
locked (lk) boolfalseoutputinputconnectablestorable
This attribute is set when bringing in a reference file and is not editable after that.
placeHolderNamespace (phns) stringTmultiSharedObject::create<TdataString>""outputinputconnectablestorable
This string represents the placeHolder namespace that will be used when exporting edits that involve nodes in this reference
associatedNode (asn) Messagen/aarrayinputconnectable
This message attribute is used to connect specific nodes that may be associated with this reference (i.e. group, locator, annotation). Use of this connection indicates that the associated nodes have the same lifespan as the reference, and will be deleted along with the reference if it is removed.