Product documentation · Current desktop UI

Native host APIs

The searchable library currently links 28,026 official names from versioned vendor indexes and entry points. Maya commands: 1,207 (2026), 1,190 (2022); OpenMaya classes: 162; Unreal types: 11,675 (5.8), 7,169 (4.27); Blender types: 1,662 and operators: 2,314 (4.5); Substance Painter members: 531; GIMP classes and functions: 818 (3.0); Houdini HOM symbols: 697; MotionBuilder classes: 595. Names link to the vendor pages; they are not a guarantee that your installed host exposes them.

Tech Connector's wrapper and source counts describe code shipped with Tech Connector. They do not count the commands and classes installed by Maya or Unreal. Use this page to find the native API, learn the call form, and open the vendor's complete versioned reference. The examples below are starting points, not a claim that every native object can cross the Tech Connector bridge.

Search the same index in Tech Connector

The desktop guide's search field and the Python API use the bundled, offline vendor-name index. Search results open the original vendor documentation. They are labeled as references, not executable pipeline functions.

from tech_connector.api import create_api

api = create_api(project_root="C:/your-project")
found = api.dcc.reference_search("selection", host="maya", limit=20)
for item in found["results"]:
    print(item["name"], item["version"], item["url"])

The index reflects a documentation snapshot. Use api.dcc.native_catalog in a connected host to inspect what is installed and callable there.

Find the complete API in a connected host

from tech_connector.api import create_api

api = create_api(project_root="C:/your-project")
for host, namespace in (
    ("maya", "maya.cmds"),
    ("maya", "maya.api.OpenMaya"),
    ("maya", "maya.api.OpenMayaAnim"),
    ("unreal", "unreal"),
):
    result = api.dcc.native_catalog(host, namespace)
    if result.ok:
        print(namespace, result.result["total"])
        for member in result.result["members"]:
            print("  ", member["path"])
    else:
        print(namespace, result.error)

# Drill into a class returned by the first call:
methods = api.dcc.native_catalog("maya", "maya.api.OpenMaya.MSelectionList")
assets = api.dcc.native_catalog("unreal", "unreal.EditorAssetLibrary")

This is live read-only discovery. It needs the licensed desktop/runtime and the host bridge running. The initial result lists callable members of one module or class; pass a returned class path to list its methods. It does not recursively traverse every class, include non-callable properties, or test a method's argument and return types. The website cannot know which plugins and API version are installed on your machine.

Use the complete vendor references for signatures, flags, return types, and version notes:

Call a native function

Functions that take and return JSON-friendly values can be called through a connected host. Check result.ok, result.error, and result.result["output"].

selected = api.dcc.maya.call("maya.cmds.ls", kwargs={"selection": True, "long": True})
if selected.ok:
    print(selected.result["output"])

paths = api.dcc.unreal.call(
    "unreal.EditorAssetLibrary.list_assets",
    "/Game",
    kwargs={"recursive": True},
)
if paths.ok:
    print(paths.result["output"])

Native calls run in the host, not in Tech Connector's Python process. Objects such as Maya MObject, MDagPath, and Unreal UObject may not serialize into a useful bridge result. For workflows that use these objects, send the whole script through api.dcc.maya.execute_python(...) so the objects stay in Maya during that call. Return simple values through printed output, or use a typed Tech Connector operation. Reading the catalog does not change a scene; calling a mutating command or script can.

Maya commands (maya.cmds)

These are Autodesk commands, not functions in maya_tools. Search the complete Maya commands reference for every flag and version detail. Tech Connector passes keyword arguments as Maya command flags.

maya.cmds.ls

List nodes; selection=True limits the result to the current selection. Autodesk reference.

maya.cmds.select

Change active selection. This edits UI state. Autodesk reference.

maya.cmds.listRelatives

Inspect parents, children, or shapes of DAG nodes; use fullPath=True when names may be ambiguous. Autodesk reference.

maya.cmds.objExists

Check whether a named object or attribute exists before editing it.

maya.cmds.nodeType

Read a node's type before choosing a compatible command or function set.

maya.cmds.getAttr

Read an attribute value. Consult the vendor reference for compound and typed attributes.

maya.cmds.setAttr

Write an attribute value. Check locks, connections, and required value type.

maya.cmds.listConnections

Inspect incoming and outgoing node or plug connections.

maya.cmds.xform

Query or edit transform values; confirm object space versus world space flags.

maya.cmds.polyEvaluate

Inspect polygon counts and other mesh statistics.

maya.cmds.file

Open, reference, import, export, or save files; confirm flags before any write.

maya.cmds.playbackOptions

Query or change timeline playback limits.

maya.cmds.keyframe

Query or edit animation keys on a channel or object.

maya.cmds.setKeyframe

Create animation keys; validate the target and current time first.

Maya Python API 2.0 (maya.api.OpenMaya)

OpenMaya exposes scene objects, DAG paths, plugs, mesh data, and iterators. These are classes with methods and properties, not maya.cmds flags. Inspect the complete OpenMaya class reference for constructors and method signatures.

from tech_connector.api import create_api

api = create_api(project_root="C:/project")
result = api.dcc.maya.execute_python("""
import json
import maya.api.OpenMaya as om

selection = om.MGlobal.getActiveSelectionList()
names = []
for index in range(selection.length()):
    try:
        names.append(selection.getDagPath(index).fullPathName())
    except TypeError:  # A selected item may not be a DAG node.
        continue
print(json.dumps(names))
""")
if not result.ok:
    raise RuntimeError(result.error)
print(result.result["output"])  # JSON text printed by the host script

execute_python requires an unlocked Tech Connector license and a connected, authenticated Maya bridge. It runs one script in Maya's Python process. Keep MDagPath and other Maya objects inside that script; a later call must look them up again. The response contains captured text, not a live Maya object. api.dcc.maya.call("maya.api.OpenMaya.MGlobal.getActiveSelectionList") is also a bridge call, but its returned selection object cannot be reused by a second call in the Tech Connector process.

The same distinction applies to the other connected Python hosts. For an individual function with simple arguments, use api.dcc.<host>.call(...). For a multi-step workflow or objects that must stay in the host, use api.dcc.<host>.execute_python(source) and return simple printed values. For example, api.dcc.unreal.call("unreal.EditorAssetLibrary.list_assets", ...) and api.dcc.unreal.execute_python(source) both route to the Unreal Python bridge; neither imports unreal into Tech Connector's process. The Python script route is also exposed for connected Blender, Houdini, MotionBuilder, Substance 3D Painter, and 3ds Max bridges. Use api.dcc.host("3dsmax") for 3ds Max. GIMP's Python-Fu bridge supports a complete script through api.dcc.host("gimp").execute_python(source), but this build does not expose a general per-member call path for GIMP's GI API. The host must be installed and its bridge must support Python execution. A reference in the offline index alone does not prove a callable method or a live connection. Unity's C# and Photoshop's UXP references do not have this general Python route.

maya.api.OpenMaya.MGlobal

Application-level selection and messaging helpers, including getActiveSelectionList().

maya.api.OpenMaya.MSelectionList

Store and resolve selected objects; inspect add(), length(), and getDagPath(index).

maya.api.OpenMaya.MDagPath

Identify a DAG instance and get its full path.

maya.api.OpenMaya.MFnDagNode

Inspect hierarchy and names using a DAG node function set.

maya.api.OpenMaya.MFnDependencyNode

Inspect dependency nodes and plugs, including findPlug().

maya.api.OpenMaya.MFnMesh

Read mesh topology and geometry through a mesh function set.

maya.api.OpenMaya.MItSelectionList

Iterate over a selection list, optionally filtering by Maya node type.

maya.api.OpenMaya.MItMeshVertex

Iterate over vertices of a mesh DAG path or object.

maya.api.OpenMaya.MPlug

Inspect an attribute connection and its value in the dependency graph.

maya.api.OpenMaya.MVector

Represent and calculate 3D vectors in host-side scripts.

For animation-specific classes, browse maya.api.OpenMayaAnim with api.dcc.native_catalog("maya", "maya.api.OpenMayaAnim").

Unreal Editor Python (unreal)

The bundled unreal_tools functions are Tech Connector wrappers. The Unreal Python module is much larger and varies by engine version and enabled plugins. Browse the complete Unreal Python API and use live discovery for the installed editor.

unreal.EditorAssetLibrary.list_assets

List Content Browser asset paths under a directory such as /Game. Epic reference.

unreal.EditorAssetLibrary.does_asset_exist

Check a content asset path before loading or editing it.

unreal.EditorAssetLibrary.load_asset

Load an asset in the editor; the returned UObject may need host-side handling.

unreal.EditorAssetLibrary.save_loaded_asset

Save a loaded asset after changes. This writes to the project.

unreal.EditorAssetLibrary.find_package_referencers_for_asset

Inspect packages that refer to an asset before renaming or deleting it.

unreal.AssetRegistryHelpers.get_asset_registry

Get the registry used to query asset metadata without loading every object.

unreal.AssetRegistry.get_assets_by_path

Query assets by package path through an AssetRegistry instance; this is an instance method, not a standalone remote call.

unreal.AssetToolsHelpers.get_asset_tools

Get editor asset-creation and import tools; returned objects should remain in an in-editor script when subsequent calls need them.

unreal.EditorActorSubsystem.get_selected_level_actors

Read selected level actors from an editor subsystem instance. See Epic's Sequencer Python example for obtaining the subsystem.

unreal.EditorActorSubsystem.get_all_level_actors

List loaded actors in the current editor level.

unreal.SystemLibrary.get_engine_version

Read the running engine version before choosing a versioned API reference.

Unreal functions that take an Actor, UObject, or subsystem instance may need an in-editor script or Tech Connector's typed Unreal resolver. For example, you can use api.dcc.native_catalog("unreal", "unreal.EditorAssetLibrary") to inspect the installed class, then consult Epic's versioned method page for the exact argument contract.

Other host APIs in the search library

Search also includes names from the official Houdini HOM symbol index and MotionBuilder 2026 class index, plus official entry points for the other hosts in Tech Connector's current catalogs. Houdini and MotionBuilder class pages are lookup references; their methods are not all separately indexed here. The native APIs vary with host version, installed plugins, and bridge state. The website links to the vendor's full reference; use native_catalog for supported, connected Python hosts.

  • 3ds Max: pymxs and its dynamic runtime object. Autodesk 3ds Max Python. Inspect api.dcc.native_catalog("3dsmax", "pymxs.runtime") in a connected Max session; the static index cannot enumerate every MAXScript symbol that pymxs exposes.
  • Blender: bpy. Blender Python API. Search the indexed Blender 4.5 types and operators, then inspect the installed host with api.dcc.native_catalog("blender", "bpy.ops.object") or another module.
  • Houdini: hou. SideFX HOM reference. Try api.dcc.native_catalog("houdini", "hou").
  • MotionBuilder: pyfbsdk. Autodesk Python reference. Try api.dcc.native_catalog("motionbuilder", "pyfbsdk").
  • Substance 3D Painter: substance_painter. Adobe Python API. Search the indexed members, then inspect api.dcc.native_catalog("substance_painter", "substance_painter.project") when its Python bridge is available.
  • Unity: the Unity C# scripting reference is linked for lookup. Unity's C# API is not exposed through Python native_catalog.
  • Photoshop: the Adobe UXP API is linked for lookup. Tech Connector's Photoshop bridge is disabled in production until entitlement-derived pairing is implemented.
  • GIMP: the GIMP 3 Python API is linked for lookup. Its bridge operations are separate from the Python native_catalog path.

RealFlow has no connector or registered operation in this build, so it is not presented as a callable API.