Product documentation · Current desktop UI

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.

← All hosts

Bundled Python wrappers

  1. add_file_open_callback
  2. create_and_populate_export_node
  3. create_character
  4. create_motionbuilder_menu
  5. create_string_property
  6. deselect_all_models
  7. display_warning
  8. execute
  9. export_animation
  10. export_fbx
  11. export_node_exists
  12. find_skinned_or_top_joints
  13. generate_sequence_dict_from_anim_dict
  14. get_all_descendants
  15. get_camera_sequencer_data
  16. get_cameras_from_selection
  17. get_components_in_namespace
  18. get_display_range
  19. get_export_node_data
  20. get_main_window_pointer
  21. get_motionbuilder_fps
  22. get_motionbuilder_version_string
  23. get_rig_namespaces
  24. get_scene_path
  25. get_selected_models
  26. get_story_camera_shots
  27. import_fbx
  28. inspect_character
  29. install_current_motionbuilder_tools
  30. list_joints_by_namespace
  31. motionbuilder_python_path
  32. on_menu_click
  33. plot_animation
  34. plot_selected_models
  35. reload_dependencies
  36. remove_file_open_callback
  37. save_fbx_checked
  38. scene_joints
  39. select_models
  40. selection
  41. set_display_range
  42. find_top_joint
  43. 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 · required
  • skeletons · required
  • uproject · required
  • log_path · required
  • cmd_path · required
  • export_directory · required
  • namespace_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 · required
  • definition_file · str · default ''

create_motionbuilder_menu

api.dcc.motionbuilder.create_motionbuilder_menu(...)
Signature
create_motionbuilder_menu()
Target
motionbuilder_tools.motionbuilder_menu.create_motionbuilder_menu
Source
motionbuilder_tools/motionbuilder_menu.py:6
Name status
Friendly call available

Create a custom menu in MotionBuilder UI.

Parameters

None documented.

Related functions

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 · required
  • prop_name · required
  • value · 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 · required
  • payload · 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 · required
  • export_path · required
  • namespace · required
  • start_frame · required
  • end_frame · required
  • nodes · 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 · required
  • selected_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 · required
  • merge · 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

on_menu_click

api.dcc.motionbuilder.on_menu_click(...)
Signature
on_menu_click(control, event)
Target
motionbuilder_tools.motionbuilder_menu.on_menu_click
Source
motionbuilder_tools/motionbuilder_menu.py:19
Name status
Friendly call available

Parameters

  • control · required
  • event · required

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 · required
  • plot_to_rig · bool · default True
  • fps · 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 · required
  • start_frame · required
  • end_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 · required
  • options · Any · required
  • sdk_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 · required
  • end_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.