Skip to main content

2.9.0

The first update after it was released as an open-source project!

This is quite a small update, but it has some useful features that will help you to customize your nodes in the graph editor.

danger

This version has one breaking change - that requires you to change your API.

Please refer to the Breaking Changes section for more information.

Added

Node Attachment Management Control

We moved the node attachment management control to the node instances instead of the editor nodes, to let you manage the node attachment in the node instance side instead of the editor node side.

Now you can override CanAttachSubNodeOnThis and CanAttachThisAtParentNode to make a new attachment rule for your nodes.

img_7.png

This will help you to manage the node attachment in a more flexible way, such as forbidding any nodes to be attached, or allowing only specific nodes to be attached to your fragments or even allowing only under specific situations.

img_9.png

img_8.png

Node Body Design Customization

A new feature that allows you to customize the node body of a node in the graph editor.

You can customize its general tint, and individual slate brush of each element. ( InnerBody, OuterBody, Shadow )

This means that you can even use Material with custom shader for your node body, which can expand the possibilities of the node design even further! Unfortunately, we don't have any existing fragments that use this feature yet, but you will see it our upcoming fragments.

Node Class Management (BETA)

Joint Management now has a new tab named Node Class Management that allows you to quickly fix & manage the node classes in your project.

img_6.png

Redirecting Missing Node Class

Now you can redirect the missing node class to a new one!

important

This feature is especially useful because it will try to resurrect the old properties from the disk! Thus if your node class became missing, you can still recover the properties of the node class without banging your head on the wall!

If your project has any missing node classes, they will be listed on the view if you click the Refresh List button.

img_10.png

And if you click the Apply button, and press ok to the dialog, it will redirect the node class to the new one.

img_11.png

info

The change will be applied after you restart the editor.

img_12.png

You can remove each redirection whenever you need by clicking the Remove Redirection button of them here, or you can visit the JointEditorSettings to remove them manually (it hold the redirection data).

Node Class Swap (BETA)

You can now swap the node class of existing nodes to another one! You can either swap editor nodes or node instances.

It will try to maintain the node's properties, but it may not be able to maintain all of them depending on the node class.

warning

This feature is still in BETA and extremely experimental. So it may not work as expected. We recommend you to backup your project before using this feature.

img_13.png

Change Node Instance Class Right at the Graph Editor

Now you can change the node instance class right at the graph editor, on the detail panel of your nodes.

It will try to maintain the node's properties, but it may not be able to maintain all of them depending on the node class.

This feature is useful when you have to replace the old node class to a new one, or when you want to change the node class to a different one.

img_1.png

Small Additional Features

Added Developer Mode

We added a little new editor mode called Developer Mode, that will help you to see the editor's internal data.

It makes the system show some hidden data that are not shown in the editor, such as graph object and debugging data or other data.

img_14.png

You can enable it on the Joint Management tab.

img_15.png

Once you enable it, you will see the internal data are now shown in the detail panel.

Changed

It now supports every platform

More specifically, its code base was already built with cross-platform interfaces so it would be compatible with Linux and Mac and other platforms, but we restricted it because we couldn't test it on those platforms.

But instead, we decided to remove the restriction to provide better compatibility with other platforms, and see if any problems arise.

So try it on your platform! If it's not working on your platform or OS, please let us know, and we will fix it as soon as possible.

Visual Rework with Volt & Editor Performance Improvements

Search & Replace tab has been reworked with Volt, and now it looks more compact and easier to use. Yeah. It's just that.

img_16.png

Additionally, the loading time of the Joint graph editor has been improved slightly!

Small, Minor Changes

Just some small changes for better usability.

Joint Management Tab & Joint Bulk Search & Replace Tab are Now Accessible In The Main Toolbar

The Joint Management tab Joint Bulk Search & Replace Tab are now accessible in the main toolbar, in the tool section. So you don't have to open the editor preferences to access it.

img_5.png

Collapsed Description Cards on Detail Panel

Now the description cards will be illustrated in a scroll box when the description is too long. This will help you to quickly access the other elements in the detail panel.

img_4.png

Asynchronous Search & Replace Builder + Visual Reworked

Search & Replace Builder is now asynchronous, so it won't block the editor while building the items on the Search & Replace tab.

Plus, we changed the visual of the Search & Replace to be more compact, and added some eye candy to make it more appealing.

This is a kinda minor change, but you will love how smooth it is.

Fixed

Fixed some annoying bugs that were reported by the community!

  • Fixed a major bug that the editor nodes that are created by pulling a connection from a pin directly doesn't update the connection list, causing the nodes are internally disconnected so letting the system halt in unexpected location.

  • Fixed a bug that the editor settings are not properly saved in some occasions.

  • Fixed a bug that executing FJointEditorModule::Get() in the module initialization phase causes the engine to crash in very, very rare occasions.

Breaking Changes

danger

Please follow the instructions below to update your project to the new version!

We changed the system to use FJointEdNodeSetting instead of just listing all the editor only properties on the node class itself.

Thus, you need to change your API to use FJointEdNodeSetting instead of the old properties.

We recommend you to use JOINT_VERSION_OLDER_THAN macro to check the version of Joint you are using, and make sure to use EdNodeSetting when the version is 2.9.0 or later.

img_2.png

For the BP classes, we added a fix script to automatically convert the old properties to the new ones in the Joint Management tab.

Press this button to convert the old properties to the new ones, and make sure to save the BP classes.

img_3.png

info

Joint Native's nodes are already using the new system, so you don't need to change anything for them.