A new Animation Data panel has been added.
⚠️ Important behavior notes
- Does not affect encoding: The animation definitions do not change which frames are baked. The full encoding range is still exported.
- No skipping: Defining animations does not “skip” frames in the bake or change how the VAT is generated; it only tags ranges inside the encoded data.
- Global frame ranges: Animation frame ranges are currently global scene frames, not relative to the VAT encoding start frame.
scene.node_tree to a version-safe path:scene.compositing_node_group and CompositorNodeTree.scene.use_nodes + scene.node_tree.get_scene_compositor_tree(...) – returns a valid compositor tree for the current scene.get_compositor_output_socket(...) – returns the correct output node/socket:Background and Foreground.use_premultiply = False.inputs[1] (BG), inputs[2] (FG).Fac = 1.0), and the Alpha Over output is always wired into the compositor’s final output socket.get_scene_compositor_tree(...) to obtain a compositor tree in 4.x and 5.0.CompositorNodeComposite being undefined in Blender 5.0 and keeps the unnormalize workflow stable.Small patch to fix typo causing issue with vnrm exports.
Release Date: July 5 2025
Status: Stable
Custom Vertex Stream Encoding is HERE
Bake arbitrary per-vertex attributes over time — any 'float' attribute defined in geometry nodes via 'store named attribute' or attribute output is available to encode.
Attributes can come from Geometry Nodes, vertex colors, or custom data layers.
EXR32 Output with Raw (Non-Normalized) Mode
Export textures in true 32-bit float precision per channel (RGB), with optional non-normalized output.
Enables direct engine-side sampling of raw float data — ideal for systems like Niagara.
New Texture Layout: Single Row Mode
Output layout option where:
Optimized for shader-based sampling and VAT workflows where frame indexing is vertical.
Expanded Format Options
PNG8 – normalized [0–1], 8-bit per channelPNG16 – normalized [0–1], 16-bit per channelEXR16 – normalized [0–1], half-floatEXR32 – normalized [0–1], full floatEXR32 (Raw) – non-normalized, full float (new)Single Row ModeRelease Date: 2025-04-29
Minimum Blender Version: 4.2.0
EXR Export Option Export as RGB(half) EXR in addition to the existing PNG option
RGB (no alpha) Default Export Previously, VATs exported with blank Alpha channel, now all exports strip the Alpha channel for better (RGB) formatting.
Custom Frame Range Encoding
Export VATs with precise control over the frame range to encode.
Deformation Basis Options
Choose deformation basis from Start Frame, Current Frame, or a Custom Proxy object.
GLTF Export Support Export model by default as GLTF or GLB (for Godot) or choose to not automatically export a model - handle this yourself after creating the VAT.
Attribute Stripping Often after creating a VAT, there is no use for vertex data like vertex groups and colors - an option has been added to strip this data from the mesh result, as to not carry unnecessary data.
Transform Space Control
Select whether to bake object space or world space deformation into the VAT.
Target 'Collection Combined' Mode
Export a combined mesh from all objects in a collection into a single VAT.
Normal-Safe Edge Splitting (Optional)
Automatically splits sharp edges for safe per-vertex normal capture without modifying the original mesh.
OpenVAT - VAT Encoder Initial Extension Release
-Unity URP shadergraph methods and examples can be found at https://github.com/sharpen3d/openvat.
Full support documentation, breakdowns, walkthrough, Unreal integration and demo files are in process and will be available here. https://github.com/sharpen3d/openvat/blob/0a165933838f013e2b0ef8dc856f68f99b5e7505/README.md
Release Notes:
Mesh to encode must maintain consistent domain size (vertex, edge, face count and ordering)
Range finding is rounded for ease of manual engine-shader implementation - may update for better range accuracy, but should not impact quality of encoding.
VAT and VNRM exports are 16 bit PNG exports and have uncapped size. It is recommended to render at a resolution of 4096 or lower - resolution is calculated within the tool when an object is selected.
Linear PNGs can become heavy if not monitored because of the lossless quality. These can be managed after the fact with careful compression (the built-in geometry node decoder can help determine quality loss with compression by re-loading in the compressed image after running your compression of choice.)
Not all animation situations have been tested, but any position/normal information that is accessible in the dependency graph (Geometry Nodes Spreadsheet data) is able to be recorded.