Skip to main content

2.12.0

Common

Logs are no longer emitted via LogTemp. Instead, dedicated logging categories such as LogJoint, LogJointEditor, and LogVoltCore are now used, making log analysis and tracing significantly easier.


Runtime Module

Joint Actor (Joint Instance–related)

Joint Actor now uses an Execution Queue to manage node playback lifecycles. Joint Actor now replicates nodes even before Start Joint is called.

Nodes can now obtain a reference to their Joint Actor before playback begins. In networking scenarios, node functions may sometimes be invoked via RPCs before the node itself starts playing. To handle this safely, the HostingActor can now be retrieved even in those cases, ensuring that fragments relying on HostingActor function correctly.


Foundation

Foundation nodes now provide the bMakeOutputPinAlways option. Even if sub-nodes implement their own output pins, this option forces the base output pin to be generated.

This acts as a fallback connection: if sub-nodes implement pins but do not provide a next node to execute, this forced output pin can be used as a backup path.


Fragment

Attachment tests are now performed not only on the target node but also on its child nodes. Previously, there was a loophole where a node that should not be used as a manager fragment could be attached as a child of another node, and that parent node could then be attached to a manager fragment without restriction. This is now properly validated.


Joint Movie Track

The Joint Movie Track system has been extended to support the following track types:

  • Begin Play
  • Active On Range
  • End Play
  • MarkAsPending

Fixed an issue where the Active On Range track type in Joint Movie Track failed to properly stop nodes when exiting its range.


Joint Movie Track Editor (Minor Rework)

A large number of bugs were fixed, with multiple feature improvements and additions (e.g., multi-row track support).


Editor Module

Quick Node Picking (New)

Press Ctrl + Q to enter Quick Node Picking mode.

While in this mode, clicking a node immediately copies its reference to the clipboard. The copied reference can then be pasted directly into a node pointer field.


Reroute (New)

Yes, it’s finally here.

Double-click an existing connection to create a reroute node on that connection.


Joint Debugger Rework

The Joint Debugger has been reworked. This includes bug fixes, feature improvements, and visual enhancements. Core code refactoring was also performed, resulting in a much cleaner and more robust structure.


Dissolve & Solidify Nodes

A new Dissolve Exact Node Only feature has been added. Shortcut: Ctrl + Shift + E (Exact) Unlike the existing Dissolve Subnodes feature, this dissolves only the explicitly selected node and leaves its sub-nodes untouched.

A new Dissolve Only Sub Nodes, Not Itself feature has been added. Shortcut: Ctrl + Shift + F This dissolves only the child nodes of the selected node, without dissolving the node itself.

The dissolved-node indicator now updates much more immediately. Dissolving and solidifying actions now participate in editor transactions (Ctrl + Z / Ctrl + Y supported). Fixed an issue where dissolved nodes could lose their graph node widgets under certain conditions.


Connector Nodes

Input and output node pairs of a connector node now display the same Connector Name in the Details panel. Editing the Connector Name on one side now updates both sides simultaneously.


Graph Nodes

Fixed an issue where attaching a node to the Sub Node Insert Point located at the end of a graph node slate would not work correctly. (Note: this was a very old bug. Since dragging and dropping nodes anywhere would still attach them to the last position, it was partially avoidable and therefore deprioritized.)

Added an option to apply the default row style of the currently assigned Text Table to the default text in the Text Node’s WYSIWYG editor. This option is enabled by default and can be toggled in Editor Preferences (Override Default Style From Data Table).

The Open Node Class button in node tooltips can now open not only Blueprint classes, but also the source definitions of nodes implemented in C++.

Reduced unnecessary widget rebuilds when the graph changes, improving the overall efficiency of node slate processing.


Miscellaneous

BuildTargetPreset now provides an editor-only property that allows changing the font size displayed in the editor. This was added to address cases where overly large fonts caused names to be completely obscured.