Skip to main content

2.10.0

The first update after it became MIT licensed!

Highlighted

Sub Graph System

Now Joint Editor supports Sub Graphs!

You can create a sub graph by selecting multiple nodes and right-clicking to open the context menu, then selecting Collapse Nodes - this will create a new composite node that contains new sub graph with the selected nodes.

img_1.png

img.png

Composite nodes provide a previewer that shows the sub graph, and you can even edit the sub graph on this previewer!

If you put your mouse cursor above the node's top bar, you can see a little button drawer is showing up. You can press the Edit Graph button to open the sub graph editor, close and open the previewer, lock the previewer to prevent it from updating, and make the previewer center on the sub graph.

img_2.png

This is how the composite node looks like when the previewer is closed.

img_3.png

note

closing the previewer will save some performance, especially when the sub graph is complex.

You can rename your graph by pressing F2 when your composite node is selected, or by right-clicking the node and selecting Rename Node.

img_5.png

You can access the sub graph from the outliner tab of the editor as well - double-clicking the name of the graph in the outliner will open the graph panel for the graph.

img_4.png

note

You can drag pins between nodes and the composite node (or its tunnel node in the sub graph), and the corresponding input/output pins will be created automatically in both directions.

Or you can manually create input/output pins by modifying the composite node (or its tunnel node in the sub graph)'s Pin Data property in the details panel as well.

  • You can change its color with Node Color property on the detail panel as well.

img_6.png

You can also expand the sub graph by right-clicking the node and selecting Expand Node.

This will replace the composite node with its internal nodes, and all the connections will be restored as well.

img_7.png

Dissolving & Solidifying Nodes

Node Dissolving is a feature that allows you to collapse the node's body into the parent node - allowing you to save some space in the graph and make it looks less cluttered.

img_11.png

We expect it to be useful for the nodes that are very frequently used so almost always present each node (such as text, speaker and listeners, wait skip) to be looked like the part of the parent node - to be more intuitive.

You can dissolve a composite node by right-clicking the node and selecting Dissolve Sub Nodes or by selecting the node and pressing Ctrl + Shift + D.

You can solidify a dissolved node by right-clicking the parent node and selecting Solidify Sub Nodes or by selecting the parent node and pressing Ctrl + Shift + S.

Reworked Graph Tree Viewer

Sub Graph Support & Improvements

It supports sub graphs for this update, and it will show some additional nodes that are not shown in the previous version, such as connector nodes, comment nodes!

Now it shows the root node's manager fragments in a new parent node called Root Node & Manager Fragments - this will make it easier to find them without messing around with the other nodes.

img_9.png

note

img_10.png

We added a toggle button named Display Current Graph Only - when it's enabled, it will only show the nodes that are in the current graph, and when it's disabled, it will show all the nodes in the root graph and sub graphs as well.

This is very useful for big graphs with many sub graphs, as you can focus on the current graph only.

Asynchronous Logic Rewritten

We completely rewrote the asynchronous logic of the graph tree viewer, to make it more robust and reliable.

Previously we disabled the asynchronous updating on 2.9.4 due to its instability, but now it's back and more stable!

Changes & Fixed

warning

This version contains hella lot of changes internally - one of the reason is because of the sub graph system support.

(Previously, every system on the editor module assumed that there is only one graph - so systems like the graph tree viewer, debugger, editor tab managing, object querying, etc. were tightly coupled with the root graph, thus we had to rework on them one by one to support sub graphs.)

And also we refactored really many parts of the codebase to make it more organized and maintainable - so if you are a developer, you might want to check out the source code to see how it looks like now!

We're not going to list up changes here - please take a look at the commit history if you are interested in the changes. (https://github.com/GGgRain/Unreal-Joint/commit/03c03bddb3cb970c8b5a6cf8a8f2a94669bf9149)