What's new in the Maya 2026 devkit

API Changes

MDagPath

Added a method to get matrix for matching local matrix.

static MStatus matchLocalMatrix(const MDagPath & source,
const MMatrix & localMatrix,
MTransformationMatrix& transformationMatrix,
bool preserveOffsetParentMatrix = true,
bool preservePivot = true,
bool preservePivotOffset = false);

MDGModifier

Added a method for locking/unlocking the plug.

MStatus setPlugLockState( const MPlug & plug, bool newState );

MRampAttribute

Added two methods to get color and values at positions.

void getColorsAtPositions (MFloatArray& positions, MColorArray& colors, MStatus* ReturnStatus = nullptr);
void getValuesAtPositions (MFloatArray& positions, MFloatArray& value, MStatus* ReturnStatus = nullptr);

MGeometryExtractor

Added a method for extracting geometry.

MGeometryExtractor(const MHWRender::MGeometryRequirements& requirements,
           const MObject& polyObject, ::MHWRender::MPolyGeomOptions options, MStatus* status = NULL);

Using MObject instead of MDagPath in the MGeometryExtractorConstructHelper

void MGeometryExtractorConstructHelper(const MHWRender::MGeometryRequirements& requirements, const MObject& geomObject,
            ::MHWRender::MPolyGeomOptions options, MStatus* status);

MFnMesh

Added enums for supporting boolean operations.

OPENMAYA_ENUM(BooleanOperation,
//! Boolean union
kBooleanUnion = 1,
//! Boolean difference A-B
kBooleanDifferenceAB,
//! Boolean intersection
kBooleanIntersection,
//! Boolean difference B-A
kBooleanDifferenceBA,
//! Boolean split
kBooleanSplit,
//! Boolean split edges
kBooleanSplitEdges,
//! Boolean hole punch
kBooleanHolePunch,
//! Boolean cut out
kBooleanCutOut
);


//! Boolean geometry mode
OPENMAYA_ENUM(BoolGeometryMode,
//! Geometry Mode mesh
kMeshGeometryMode,
//! Geometry Mode legacy mesh
kLegacyMeshGeometryMode,
//! Geometry Mode volume
kVolumeGeometryMode
);

Added a method for boolean operations.

MStatus booleanOperations(const MUintArray &op, const MObjectArray& meshes, BoolClassification classification = kNormalClassification, BoolGeometryMode geometryMode = kMeshGeometryMode, float voxelSize = 1.0f);

M3dView

Added the following methods:

unsigned int numViewSelectedObjects( MStatus *ReturnStatus = nullptr ) const;
MStatus viewSelectedObject( unsigned int index, MStringArray& objectStrings ) const;
bool viewSelected( MStatus *ReturnStatus = nullptr ) const;

Fixed typo of the parameter in the getM3dViewFromModelPanel.

MFnVolumeLight

Added an enum for setting axis for faces.

OPENMAYA_ENUM(Axis,
    kXaxis, //!< \nop
    kYaxis, //!< \nop
    kZaxis //!< \nop
);

Added a method for setting face axis.

MStatus setFaceAxis ( const MFnVolumeLight::Axis axis );

MHWGeometry

Added and enumeration and methods for setting and getting culling modes.

OPENMAYA_ENUM(CullMode,
    /*!
    No face is culled.
    */
    CullNone,
    /*!
    Front face is culled.
    */
    CullFront,
    /*!
    Back face is culled.
    */
    CullBack
);
// Set culling mode
void setCullMode(CullMode cullMode);
// Get current culling mode
CullMode cullMode() const;

MShaderManager

Added two stock shaders.

k3dOpenPBRSurfaceShader,
k3dIsotropicOpenPBRSurfaceShader,

MMessage

Added a pointer to a callback function which takes a string and a boolean.

typedef void (*MStringBoolFunction)( const MString& str, bool state, void* clientData );

MUiMessage

Add a callback to be notified when the view selected state or view selected objects for any 3D view changes.

static MCallbackId add3dViewSelectedChangedCallback(
MUiMessage::MStringBoolFunction func,
void * clientData = nullptr,
MStatus * ReturnStatus = nullptr );

This method isn't available in .NET API.

MPxImagePlane

Added flip the image from left to right or upside down.

static MObject flipInX;
static MObject flipInY;

MPxShadingNodeOverride

Added a function that returns if the shading node can handle consolidated geometry.

virtual bool handlesConsolidatedGeometry() const;

Added a method to get fragment name considering if it is textured.

virtual MString fragmentName(bool textured) const;

Added an updating shader method based on whether it is textured.

virtual void updateShader(
MShaderInstance& shader,
const MAttributeParameterMappingList& mappings,
bool textured);

Scripting changes

New nodes

openPBRSurface

Back to top