Motionbuilder API
43 bundled Tech Connector wrapper functions in the current source catalog. This is not a count of the host application’s native API. A listed function may require its host application and bridge to be available.
Type to search all API references.
Bundled Python wrappers
- add_file_open_callback
- create_and_populate_export_node
- create_character
- create_motionbuilder_menu
- create_string_property
- deselect_all_models
- display_warning
- execute
- export_animation
- export_fbx
- export_node_exists
- find_skinned_or_top_joints
- generate_sequence_dict_from_anim_dict
- get_all_descendants
- get_camera_sequencer_data
- get_cameras_from_selection
- get_components_in_namespace
- get_display_range
- get_export_node_data
- get_main_window_pointer
- get_motionbuilder_fps
- get_motionbuilder_version_string
- get_rig_namespaces
- get_scene_path
- get_selected_models
- get_story_camera_shots
- import_fbx
- inspect_character
- install_current_motionbuilder_tools
- list_joints_by_namespace
- motionbuilder_python_path
- on_menu_click
- plot_animation
- plot_selected_models
- reload_dependencies
- remove_file_open_callback
- save_fbx_checked
- scene_joints
- select_models
- selection
- set_display_range
- find_top_joint
- find_top_joint
add_file_open_callback
api.dcc.motionbuilder.add_file_open_callback(...)- Signature
add_file_open_callback(widget)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.add_file_open_callback- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:12- Name status
- Friendly call available
Parameters
widget· required
Related functions
create_and_populate_export_node
api.dcc.motionbuilder.create_and_populate_export_node(...)- Signature
create_and_populate_export_node(anim_dict, skeletons, uproject, log_path, cmd_path, export_directory, namespace_skeleton_map)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.create_and_populate_export_node- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:287- Name status
- Friendly call available
Data is passed from the UI, likely wont need to call from Maya directly (just separating out cmds calls into this file) :param anim_dict: :param skeletons: :param uproject: :param log_path: :param cmd_path: :param export_directory: :param namespace_skeleton_map: :return:
Parameters
anim_dict· requiredskeletons· requireduproject· requiredlog_path· requiredcmd_path· requiredexport_directory· requirednamespace_skeleton_map· required
Related functions
create_character
api.dcc.motionbuilder.create_character(...)- Signature
create_character(character_name: str, definition_file: str = "") -> dict[str, Any]- Target
motionbuilder_tools.character.create_character- Source
motionbuilder_tools/character.py:103- Name status
- Friendly call available
Parameters
character_name· str · requireddefinition_file· str · default ''
create_string_property
api.dcc.motionbuilder.create_string_property(...)- Signature
create_string_property(model, prop_name, value)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.create_string_property- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:271- Name status
- Friendly call available
:param model: The actual object you want to add the property to :param prop_name: name of property :param value: value to define the property with :return:
Parameters
model· requiredprop_name· requiredvalue· required
Related functions
deselect_all_models
api.dcc.motionbuilder.deselect_all_models(...)- Signature
deselect_all_models()- Target
motionbuilder_tools.Animation.anim_export.anim_export.deselect_all_models- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:179- Name status
- Friendly call available
Deselect all models :return:
Parameters
None documented.
Related functions
display_warning
api.dcc.motionbuilder.display_warning(...)- Signature
display_warning(warning)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.display_warning- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:123- Name status
- Friendly call available
:param warning: Text to warn user with :return:
Parameters
warning· required
Related functions
execute
api.dcc.motionbuilder.execute(...)- Signature
execute(capability: str, payload: dict[str, Any]) -> dict[str, Any]- Target
motionbuilder_tools.Rigging.rigging_host_adapter.execute- Source
motionbuilder_tools/Rigging/rigging_host_adapter.py:84- Name status
- Friendly call available
Parameters
capability· str · requiredpayload· dict[str, Any] · required
export_animation
api.dcc.motionbuilder.export_animation(...)- Signature
export_animation(motionbuilder_file, export_path, namespace, start_frame, end_frame, nodes=None)- Target
motionbuilder_tools.Animation.anim_export.anim_export.export_animation- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:10- Name status
- Friendly call available
Opens MotionBuilder scene and exports animation to FBX. :param motionbuilder_file: (str): Path to the Maya scene file (if you need it). :param export_path: (str): Path where the FBX should be saved. :param namespace: (str): Namespace of the skeleton. :param start_frame: (int): Start frame of the animation. :param end_frame: (int): End frame of the animation. :param nodes: (list, optional): Specific nodes to export instead. :return:
Parameters
motionbuilder_file· requiredexport_path· requirednamespace· requiredstart_frame· requiredend_frame· requirednodes· default None
export_fbx
api.dcc.motionbuilder.export_fbx(...)- Signature
export_fbx(filepath: str, selected_only: bool = False) -> dict[str, Any]- Target
motionbuilder_tools.io.export_fbx- Source
motionbuilder_tools/io.py:39- Name status
- Friendly call available
Parameters
filepath· str · requiredselected_only· bool · default False
Related functions
export_node_exists
api.dcc.motionbuilder.export_node_exists(...)- Signature
export_node_exists()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.export_node_exists- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:91- Name status
- Friendly call available
Parameters
None documented.
Related functions
find_skinned_or_top_joints
api.dcc.motionbuilder.find_skinned_or_top_joints(...)- Signature
find_skinned_or_top_joints(namespace)- Target
motionbuilder_tools.Animation.anim_export.anim_export.find_skinned_or_top_joints- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:129- Name status
- Friendly call available
Detects the top-level joint in a given namespace. It looks for the joint with no parent, or the joint closest to the top in the hierarchy. :param namespace: (str): The namespace to search for joints. :return: (list): List of top-level joints in the namespace.
Parameters
namespace· required
Related functions
generate_sequence_dict_from_anim_dict
api.dcc.motionbuilder.generate_sequence_dict_from_anim_dict(...)- Signature
generate_sequence_dict_from_anim_dict(anim_dict)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.generate_sequence_dict_from_anim_dict- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:214- Name status
- Friendly call available
Generates a new dictionary with shot_number as the key, and a list of animations as the value. Each animation has export path, skeleton, blueprint (default to None), nodes, start frame, and end frame. :param anim_dict: The original animation dictionary, where the key is the export path and the value contains start frame, end frame, namespace, skeleton, color, and nodes. :return: new dictionary with shot_number as keys.
Parameters
anim_dict· required
Related functions
get_all_descendants
api.dcc.motionbuilder.get_all_descendants(...)- Signature
get_all_descendants(model)- Target
motionbuilder_tools.Animation.anim_export.anim_export.get_all_descendants- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:104- Name status
- Friendly call available
Gets all children of a selected model :param model: Model to search for children under :return:
Parameters
model· required
Related functions
get_camera_sequencer_data
api.dcc.motionbuilder.get_camera_sequencer_data(...)- Signature
get_camera_sequencer_data()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_camera_sequencer_data- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:42- Name status
- Friendly call available
Retrieves all shots, shot ranges, and corresponding shot cameras from MotionBuilder's CameraSwitcher. :return: List of tuples (shot_number, start_frame, end_frame, camera)
Parameters
None documented.
Related functions
get_cameras_from_selection
api.dcc.motionbuilder.get_cameras_from_selection(...)- Signature
get_cameras_from_selection()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_cameras_from_selection- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:131- Name status
- Friendly call available
:return: Cameras in selection
Parameters
None documented.
Related functions
get_components_in_namespace
api.dcc.motionbuilder.get_components_in_namespace(...)- Signature
get_components_in_namespace(namespace)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_components_in_namespace- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:151- Name status
- Friendly call available
Returns all components in the scene that belong to the given namespace. Namespace format should be: 'MyNamespace::'
Parameters
namespace· required
Related functions
get_display_range
api.dcc.motionbuilder.get_display_range(...)- Signature
get_display_range()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_display_range- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:95- Name status
- Friendly call available
Gets the motionbuilder range to match the start and end frame listed :return: start and end frame
Parameters
None documented.
Related functions
get_export_node_data
api.dcc.motionbuilder.get_export_node_data(...)- Signature
get_export_node_data()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_export_node_data- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:317- Name status
- Friendly call available
Parameters
None documented.
Related functions
get_main_window_pointer
api.dcc.motionbuilder.get_main_window_pointer(...)- Signature
get_main_window_pointer()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_main_window_pointer- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:35- Name status
- Friendly call available
:return: Main Window for Motionbuilder
Parameters
None documented.
Related functions
get_motionbuilder_fps
api.dcc.motionbuilder.get_motionbuilder_fps(...)- Signature
get_motionbuilder_fps()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_motionbuilder_fps- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:250- Name status
- Friendly call available
:return: Which playback fps the scene is set with
Parameters
None documented.
Related functions
get_motionbuilder_version_string
api.dcc.motionbuilder.get_motionbuilder_version_string(...)- Signature
get_motionbuilder_version_string() -> str- Target
motionbuilder_tools.motionbuilder_setup.get_motionbuilder_version_string- Source
motionbuilder_tools/motionbuilder_setup.py:12- Name status
- Friendly call available
Parameters
None documented.
Related functions
get_rig_namespaces
api.dcc.motionbuilder.get_rig_namespaces(...)- Signature
get_rig_namespaces(selection=True)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_rig_namespaces- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:169- Name status
- Friendly call available
Detects namespaces of selected rigs that contain joints with 'origin' as the top joint. :return: Set of valid namespaces
Parameters
selection· default True
Related functions
get_scene_path
api.dcc.motionbuilder.get_scene_path(...)- Signature
get_scene_path()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_scene_path- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:143- Name status
- Friendly call available
:return: Actual saved file name currently open
Parameters
None documented.
Related functions
get_selected_models
api.dcc.motionbuilder.get_selected_models(...)- Signature
get_selected_models()- Target
motionbuilder_tools.Animation.anim_export.anim_export.get_selected_models- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:169- Name status
- Friendly call available
Get selected models :return FBModelList: list of selected models
Parameters
None documented.
Related functions
get_story_camera_shots
api.dcc.motionbuilder.get_story_camera_shots(...)- Signature
get_story_camera_shots()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.get_story_camera_shots- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:57- Name status
- Friendly call available
Retrieves all clips in the Shot Track (kFBStoryTrackShot), including camera assignments. :return: a list of tuples: (clip_name, start_frame, end_frame, camera_name)
Parameters
None documented.
Related functions
import_fbx
api.dcc.motionbuilder.import_fbx(...)- Signature
import_fbx(filepath: str, merge: bool = True) -> dict[str, Any]- Target
motionbuilder_tools.io.import_fbx- Source
motionbuilder_tools/io.py:15- Name status
- Friendly call available
Parameters
filepath· str · requiredmerge· bool · default True
Related functions
inspect_character
api.dcc.motionbuilder.inspect_character(...)- Signature
inspect_character(character_name: str) -> dict[str, Any]- Target
motionbuilder_tools.io.inspect_character- Source
motionbuilder_tools/io.py:62- Name status
- Friendly call available
Parameters
character_name· str · required
install_current_motionbuilder_tools
api.dcc.motionbuilder.install_current_motionbuilder_tools(...)- Signature
install_current_motionbuilder_tools(*, timeout_seconds: float = 120.0) -> dict[str, object]- Target
motionbuilder_tools.motionbuilder_setup.install_current_motionbuilder_tools- Source
motionbuilder_tools/motionbuilder_setup.py:26- Name status
- Friendly call available
Ensure the bridge dependency exists without mutating the host on import.
Parameters
timeout_seconds· float · default 120.0
Related functions
list_joints_by_namespace
api.dcc.motionbuilder.list_joints_by_namespace(...)- Signature
list_joints_by_namespace(namespace)- Target
motionbuilder_tools.Animation.anim_export.anim_export.list_joints_by_namespace- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:92- Name status
- Friendly call available
Finds all joints in a namespace :param namespace: namespace to find joints for :return:
Parameters
namespace· required
Related functions
motionbuilder_python_path
api.dcc.motionbuilder.motionbuilder_python_path(...)- Signature
motionbuilder_python_path() -> Path- Target
motionbuilder_tools.motionbuilder_setup.motionbuilder_python_path- Source
motionbuilder_tools/motionbuilder_setup.py:18- Name status
- Friendly call available
Parameters
None documented.
Related functions
plot_animation
api.dcc.motionbuilder.plot_animation(...)- Signature
plot_animation(character_name: str, plot_to_rig: bool = True, fps: int = 30) -> dict[str, Any]- Target
motionbuilder_tools.character.plot_animation- Source
motionbuilder_tools/character.py:134- Name status
- Friendly call available
Parameters
character_name· str · requiredplot_to_rig· bool · default Truefps· int · default 30
plot_selected_models
api.dcc.motionbuilder.plot_selected_models(...)- Signature
plot_selected_models(models, start_frame, end_frame)- Target
motionbuilder_tools.Animation.anim_export.anim_export.plot_selected_models- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:200- Name status
- Friendly call available
:param models: models to plot :param start_frame: start frame to plot :param end_frame: end frame to plot :return:
Parameters
models· requiredstart_frame· requiredend_frame· required
Related functions
reload_dependencies
api.dcc.motionbuilder.reload_dependencies(...)- Signature
reload_dependencies() -> str- Target
motionbuilder_tools.Rigging.rigging_host_adapter.reload_dependencies- Source
motionbuilder_tools/Rigging/rigging_host_adapter.py:33- Name status
- Friendly call available
Refresh the shared portable contract used by this live MotionBuilder host.
Parameters
None documented.
remove_file_open_callback
api.dcc.motionbuilder.remove_file_open_callback(...)- Signature
remove_file_open_callback()- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.remove_file_open_callback- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:24- Name status
- Friendly call available
Parameters
None documented.
Related functions
save_fbx_checked
api.dcc.motionbuilder.save_fbx_checked(...)- Signature
save_fbx_checked(filepath: str, options: Any, *, sdk_module=None) -> Path- Target
motionbuilder_tools.io.save_fbx_checked- Source
motionbuilder_tools/io.py:27- Name status
- Friendly call available
Save with caller-supplied MotionBuilder options and verify the file.
Parameters
filepath· str · requiredoptions· Any · requiredsdk_module· default None
Related functions
scene_joints
api.dcc.motionbuilder.scene_joints(...)- Signature
scene_joints() -> dict[str, Any]- Target
motionbuilder_tools.Rigging.rigging_host_adapter.scene_joints- Source
motionbuilder_tools/Rigging/rigging_host_adapter.py:56- Name status
- Friendly call available
Parameters
None documented.
select_models
api.dcc.motionbuilder.select_models(...)- Signature
select_models(models)- Target
motionbuilder_tools.Animation.anim_export.anim_export.select_models- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:189- Name status
- Friendly call available
:param models: List of models :return:
Parameters
models· required
Related functions
selection
api.dcc.motionbuilder.selection(...)- Signature
selection() -> dict[str, Any]- Target
motionbuilder_tools.Rigging.rigging_host_adapter.selection- Source
motionbuilder_tools/Rigging/rigging_host_adapter.py:76- Name status
- Friendly call available
Parameters
None documented.
set_display_range
api.dcc.motionbuilder.set_display_range(...)- Signature
set_display_range(start_frame, end_frame)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.set_display_range- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:104- Name status
- Friendly call available
Sets the motionbuilder range to match the start and end frame listed :param start_frame: start frame to set the time slider with :param end_frame: end frame to set the time slider with :return:
Parameters
start_frame· requiredend_frame· required
Related functions
find_top_joint
api.dcc.motionbuilder.call('motionbuilder_tools.Animation.anim_export.anim_export.find_top_joint', ...)- Signature
find_top_joint(model)- Target
motionbuilder_tools.Animation.anim_export.anim_export.find_top_joint- Source
motionbuilder_tools/Animation/anim_export/anim_export.py:117- Name status
- Use the full target path
Finds the top joint of the model (simulating the 'origin' joint check). :param model: FBModel object to check :return: True if it's a top joint, False otherwise
Parameters
model· required
Related functions
find_top_joint
api.dcc.motionbuilder.call('motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.find_top_joint', ...)- Signature
find_top_joint(model)- Target
motionbuilder_tools.Cinematics.SequenceUI.sequence_utils.find_top_joint- Source
motionbuilder_tools/Cinematics/SequenceUI/sequence_utils.py:201- Name status
- Use the full target path
Finds the top joint of the model (simulating the 'origin' joint check). :param model: FBModel object to check :return: True if it's a top joint, False otherwise
Parameters
model· required
Registered host operations
These are planner and bridge operations, not individual Python wrapper methods. Availability depends on a connected host, its bridge, required inputs, and the operation’s execution mode.
MotionBuilder Create Character
character.create_character · host_native · changes project
Define and characterize a skeletal rig in MotionBuilder.
Required inputs: character_name.
MotionBuilder Inspect Character
character.inspect · host_native · read-only or UI action
Read back characterization, take range, skeleton count, and plotted transform curves.
Required inputs: character_name.
MotionBuilder Plot Animation
character.plot_animation · host_native · changes project
Plot animation to Control Rig or Skeleton.
Required inputs: character_name.
MotionBuilder Export FBX
io.export_fbx · host_native · read-only or UI action
Export the active MotionBuilder scene/selection to FBX.
Required inputs: filepath.
MotionBuilder Import FBX
io.import_fbx · host_native · changes project
Import/merge FBX file into the active MotionBuilder scene.
Required inputs: filepath.