- It is highly recommended to have only one instance of a dynamic variable (dynamic variable component with the same name) at any given time.
- There aren't any huge problems with having multiple dynamic variable instances if none or all of the instances are being driven, but it allows for cleaner organization of variables.
- Using variable names that directly bind allows for a clearer overview of what space the variables should be bound to. Indirectly binding variable names are more suited for variables that are dynamically created and/or destroyed as part of an object's function.
- Using
OnlyDirectBinding
on a DynamicVariableSpace strictly enforces this behavior, which can prevent misbindings and catch errors earlier.
- Using
- Dynamic variable spaces are not nested. If a system is complex enough, or if a DynamicVariableSpace is being shared by multiple objects, using periods (
.
) to pseudo-isolate objects or systems from one another is encouraged.- e.g. an avatar and all of its features could contain the dynamic variables
User/Avatar.Systems.Grabbable.Enabled
,User/Avatar.Blendshapes.Blep.MaxClamp
,User/Avatar.Systems.Flight.Drag
, etc.
- e.g. an avatar and all of its features could contain the dynamic variables