Skip to main content

5.3.x

5.3.0​

Released: 05/11/26

Dependencies: MtoA 5.6.4.0, Arnold 7.5.4.0, V-Ray 7.40, RenderMan 27.3

Maya versions: 2026 and 2027. Maya 2024 and 2025 are no longer supported.

New

  • added Maya 2027 build.
  • removed Maya 2025 build.
  • removed the Redshift extension and the 3Delight procedural.
  • copy and paste strands in the Grooming context.
  • path mapping applies every mapping in the path map file, in order; before, only the first mapping for each operating system was used.
  • short flags -ext for pgYetiCommand -exportTexture and -opa for pgYetiGraph -outputParamName; the short flags they shared stay with -importTexture and -outputParamNode.

Libraries

  • the Maya 2027 build follows VFX Reference Platform CY2026: Qt 6.8, Boost 1.88, Imath 3.2, OpenEXR 3.4, OpenColorIO 2.5, OpenSubdiv 3.7 and oneTBB 2022.
  • updated to OpenImageIO 3.1, HDF5 1.14 and libtiff 4.7, and moved from libjpeg to libjpeg-turbo.
  • the Arnold extension is built against the Arnold that ships with MtoA.

Results that change

Some fixes change what a graph generates:

  • Braid density uses the true cross-section area, so braids get about π times fewer curves.
  • Instance's Scale, Alignment and Twist Variation each use their own random numbers, so they're no longer correlated. Scale Variation also changes for point IDs of 167,772 and above (dense scatters), and from the 100th instance on one element, which used to repeat the next element's values.
  • Scatter picks small triangles on large meshes fairly, and relaxes points using the normal of the triangle they're in. Filling a groom with the Scatter tool can place strands slightly differently, more accurately on large meshes.
  • settings that are expressions using per-fibre variables now use each fibre's own values in Curl (Curl, Phase and Length Random), Scraggle (Scraggle Random, Percentage), Motion, Blend, Guide, Displacement and Group, and in Instance's Element Point Index.
  • a graph global explicitly set to 0 reads as 0: a density, width or length multiplier of 0 from a renderer or command now gives no fibres or zero-size ones, where it used to act as 1.
  • a region of interest clips by its full world transform, so rotated or parented regions clip differently.
  • subdivided meshes keep the right face index on meshes with many faces, so face sets select the right faces.
  • Width blends Base Width and Tip Width along the strand.
  • Transform no longer translates twice in Element mode, and recomputes length.
  • Clumping's Maintain Length uses each strand's own lengths, the attraction profile's end point reads the right strand, and Clump Selection (By Fibre Length or Within Radius) applies to the clump chosen when obeying parting. Fibres whose nearest clump can't be found (for example with an invalid rest position) are no longer clumped to the first clump.
  • Comb samples the groom at the midpoint of each segment.
  • feather barbs on side 1 root at the rachis edge.
  • 1D noise is remapped to 0 to 1, like 2D to 4D noise.
  • dynamic strands no longer apply the root snap offset twice.
  • several fields connected to a simulated groom now add together; before, only the last connected field had an effect.
  • the Sculpt and Trim brushes edit each strand once per stroke step instead of once per point inside the brush, so they're gentler at the same strength.
  • the Curve sampler's points are read back at full precision, so its values can differ very slightly.
  • feathers connected to a Yeti node keep every motion sample's transform, so they're motion blurred; before, caches and renders only got the last sample's.
  • Merge: an object renamed to avoid a name clash keeps its own mesh. Before, its mesh replaced the other input's mesh of the same name, so Scatter could place points with the wrong mesh or crash.

Stability and performance

  • improved stability under multi-threaded evaluation: resolved race conditions, deadlocks and memory leaks in attributes, caches, logging, texture lookups and graph evaluation.
  • graph evaluation is faster and uses less memory, notably the Resample and Instance nodes on long strands and with many instances.
  • malformed .fur and Alembic files, and meshes with invalid topology, fail with an error instead of crashing Maya or the renderer.
  • Yeti no longer loads the SeExpr plug-ins named in SE_EXPR_PLUGINS, which are built for another SeExpr and could crash Maya or the renderer.
  • unexpected errors during Yeti evaluation, viewport drawing or pgYetiCommand are reported instead of crashing Maya.
  • most nodes no longer crash on fibres without vertex counts or particles without positions, and the fibre after an empty (0-vertex) fibre no longer gets a corrupted root point.
  • a cycle of connected samplers is reported as an error instead of crashing, cycles through several nodes are detected, and a graph saved with a cycle by an older version no longer crashes Maya.
  • objects keep the same order on every platform, so Scatter's First source object, Merge and the renderers give the same result everywhere.
  • graph values are read and written the same way whatever the system locale.

Nodes and samplers

  • resolved crashes and hangs in the Reference (nested or self-referencing graphs), Grow, Curl, Instance, Scatter, Motion, Guide, Direction, Transform, Resolve, Displacement, Group, Clumping, Attribute and Resample nodes, mostly with unusual input such as fibres without vertices or without motion attributes.
  • fixed the Width, Blend, Merge, File, Instance, Resample, Attribute and Switch nodes: for example Width honours its Group parameter, Blend matches its target object by name, then ID, File skips objects that fail to import instead of failing, Instance no longer hides a second object's instances, and Switch's selection slider covers all 16 inputs.
  • Merge: instances whose source object is renamed to avoid a name clash keep using that source, instead of rendering another input's object of the same name.
  • Reference: a graph containing a Reference node keeps its own object names at render time, instead of taking the referenced cache's node name (which could make two Yeti nodes referencing one cache clash).
  • Clumping reports an error instead of crashing for a clump input without per-fibre rest positions, lengths, root IDs or strandu, and Resolve's smoothing no longer reads invalid data for fibres with invalid positions.
  • the Geometry, Groom, Noise and Texture samplers' settings can use expressions with variables, and the Geometry sampler can sample colour attributes.
  • nodes whose names differ only by a space and an underscore (such as my clump and my_clump) both evaluate; before, one could be skipped or the graph could produce nothing.

Grooming

  • resolved crashes:
    • in groom and feather soft selection when another object was selected first;
    • brushing or copying strands on a groom without a usable surface, with out-of-range cv[] or vtx[] indices, and when deleting a field connected to a simulating groom;
    • with a layer mask on a strand layer that has fewer strands than the groom.
  • resolved race conditions in groom brushing and in groom simulation with fields.
  • the groom tool keeps working after the groom is deselected and reselected, and only takes its shortcut keys while a groom is selected.
  • strand layer weights, and the groom Attribute Editor's strand layer Raise and Remove buttons, act on the right layer after a middle layer is removed.
  • the groom tool's marking menu shows only the current brush mode's tools, and the Sculpt icon shows.
  • removing a collision object from a groom works.
  • moving root CVs with the Move tool or soft selection no longer pulls strands off the surface.
  • the groom tool's help line follows the selection, copied strands are cleared when the selection holds no groom, and deleting the groom being edited no longer risks a crash.
  • grooms with many selected CVs draw and move faster, and unselected CVs no longer draw at the selected size.
  • ASCII (.ma) scenes save grooms at full precision (still readable by older versions), and a groom whose saved data is partly unreadable keeps the strands that could be read.
  • XGen descriptions with several spline batches keep all their curves, spline inputs that fail to load are reported and skipped, and guides whose UUIDs hash the same are no longer dropped.
  • Resample follows the Segment Creation Type again: since 5.0, By Length resampled by segment count and By Count by segment length.

Yeti node and viewport

  • the Yeti node's bounding box, region of interest and group feedback points follow the node's transform, and its bounding box and particles update when its wireframe colour changes.
  • a Yeti node whose graph generates nothing no longer gets an infinite bounding box, which broke framing.
  • feathers and braids: a braid that stretches between motion samples no longer crashes, a missing or retyped feather or braid ramp acts as an empty ramp instead of crashing, and a feather whose stored CVs were emptied or truncated (by a scene edit or a script) is reset to the default shape instead of crashing Maya.
  • feather custom geometry: a missing file is reported once, switching to a cache without fibres no longer shows the previous curves, the cache isn't reloaded on every draw, a file is reloaded whenever it changes on disk, and an unreadable cache is reported instead of crashing Maya.
  • resolved crashes after deleting a Yeti node whose region of interest had been disconnected or replaced, and when a Yeti node's reference object attribute only had outgoing connections.
  • a Yeti, feather or braid node with an empty or corrupt stored UUID is reported and still evaluates, and a stored graph that can't be read is reported while the scene loads (the node starts empty) instead of crashing Maya.
  • an unwritable Live ABC file is reported instead of crashing Maya.
  • unloading the plug-in removes the Yeti menu and graph panel, reloading it works, and unloading after the Graph Editor had been opened no longer crashes.
  • opening a scene no longer marks it modified when its render settings already hold Yeti's entries, and creating or deleting a Yeti node is a single undo step.
  • the Groom shelf button loads the plug-in if needed.
  • the cache file browser opens in the cache's directory and no longer changes the project's file browsing directory.
  • the corrective groom menu stays above its button and can't create a groom from <empty>, and Duplicate Attribute no longer adds a list entry when nothing was duplicated.

Graph Editor

  • graph evaluation errors are shown in the status bar, which also shows the Yeti node's name, and the Ungroup Selected shortcut (Ctrl+Shift+G) works.
  • the Graph Editor no longer slows down playback as much: it does far less work when refreshing each frame.
  • edits made with pgYetiGraph refresh the Graph Editor, and nodes it creates are no longer placed at a random position.
  • the object picker is sorted and up to date when it opens.
  • search fades the nodes, notes and groups that don't match.
  • nodes and groups stay exactly where they're dropped, a plain click no longer adds an undo step, and Auto-Layout no longer moves nodes inside a group upwards.
  • toggling Ignore on several selected nodes is one undo step, and selecting a Noise sampler no longer adds one.
  • undo works after the Inspector changes during a slider or curve drag, and later edits no longer merge into that drag's undo step.
  • nodes being dragged, and a node name, group label, note, expression or parameter value being typed, are no longer reset when the scene re-evaluates or a parameter's error state changes.
  • turning raw mode off on an expression sticks; tabbing through a float field no longer rounds its value, and an invalid entry restores the previous one.
  • the noise preview's colours are correct, it uses the sampler's fBM defaults when those settings are expressions or connected, it only re-renders when its settings change, and closing it while it renders no longer risks a hang.
  • resolved possible crashes when the Inspector changed while a colour picker, the curve detail dialog or the curve point menu was open.
  • right-clicking the curve editor no longer leaves an undo step open.
  • Save Default Colors For Selected saves the colour shown for nodes without a custom colour.
  • an unset YETI_CONFIG_DIRS no longer reads configuration (presets, colours) from the current directory.
  • fixed Auto-Layout skipping selected nodes, arrow picking, cancelling Set Color, and the drawing of ignored-node hatching, the search highlight and long group labels.
  • panning and zooming the Graph Editor no longer invalidates the Yeti node's cached frames.
  • with Auto-Connect on, creating a node while a sampler is selected no longer draws a connection from the sampler that the node doesn't use.
  • a value being typed in the Inspector is no longer lost, or written into another node's graph, when the editor switches to another Yeti node.
  • the node info popup stays on the monitor under the cursor.

Commands

  • pgYetiCommand, pgYetiGraph, pgYetiMayaUI and pgYetiRenderCommand report an error for invalid flags, arguments or objects instead of running anyway.
  • pgYetiCommand -transferAttribute into a groom that already has the attribute overwrites it instead of crashing, and a failed -writeCache no longer leaves Yeti nodes slow in the viewport.
  • Esc cancels -exportUnrealAbc and -objExport while they evaluate; -objExport reports when it can't open its file, and -exportUnrealAbc reports an unwritable file instead of crashing.
  • -convertFromCurves rejects a step size of zero or less, and -writeCache and -writeAlembic treat -samples below 1 as one sample.
  • a file name without a directory for -writeCache, -writeAlembic, -exportGroom or -saveGroom writes to Maya's current directory instead of failing.
  • -objExport of a graph that generates nothing reports an error instead of crashing, -exportGroom and -saveGroom report an error for a node without a graph (such as one reading a missing cache) instead of crashing, and -writeAlembic -filePerFrame expands environment variables in the file name.

Files

  • Alembic: fixed transform order and interpolation, face-varying UVs and widths; attributes and user properties use the object's time sampling; mesh attributes, user properties and the Epic groom version properties are exported, and face-varying mesh attributes import in the right order.
  • writing a .fur cache no longer fails when an attribute is empty at one of the motion samples, and Alembic mesh export no longer writes an empty UV set when a mesh's u/v don't have one value per face vertex.
  • OBJ export writes correct normals for scaled objects.
  • pgYetiCacheInfo prints boolean defaults correctly; reports invalid options, unreadable caches, evaluation errors and an unwritable --asciiout file with an error and a non-zero exit code; and no longer crashes on --fastBoundingBox with incomplete bounding box data.

Rendering

  • updated to V-Ray 7.40.
  • updated to RenderMan 27.3.
  • an error while evaluating a graph is reported and that object skipped, instead of crashing the render (Arnold, V-Ray, RenderMan).
  • Arnold: motion blur covers the camera's shutter when it's wider than the node's motion range, and a procedural without motion samples renders at its frame instead of producing nothing.
  • Arnold: Yeti nodes respect MtoA's export shaders setting, and IPR re-exports no longer warn that Yeti's user parameters are already declared.
  • Arnold: meshes that aren't subdivided keep their normals when MtoA is loaded.
  • the render statistics logged at verbosity 1 and above include particles, and V-Ray no longer logs an empty statistics line at verbosity 0.
  • V-Ray: objects used only as instance sources are no longer rendered as extra visible geometry, and a render without a license stops instead of continuing.
  • RenderMan: more robust with many or unusual attributes and malformed procedural arguments, objects that can't be emitted no longer leave an empty motion block in the RIB stream, the version banner prints once per render instead of once per procedural, and File > New during a RenderMan export no longer crashes.
  • rendering with RenderMan, or adding a region of interest, with nothing selected no longer errors.

Downloads

WindowsMaya 2027Maya 2026
LinuxMaya 2027Maya 2026