본문으로 건너뛰기

2.2.0

In this version, we tried to reinforce the editing system, and tried to provide QOL features that help you a ton on saving your time on the development with Joint.

Dialogue Compiler & Error Reporting System Reworked

Now dialogue manager has a built-in compilation feature that informs you some info about the graph settings, warns you about the possible issues and errors on the graph and nodes.

img_3.png

Any modification on the graph and dialogue manager asset will execute compilation, and automatically check out the possible errors for the dialogue manager.

Dialogue Editor now has Compile Result tab that displays the result of the compilation. You can double-click the row or hyperlink to go to the node that caused the issue.

img_5.png

Graph nodes will display the compile result indicator on the overlay. You can check out the issues have been raised for the node on there either.

img_4.png

Error and warning will be displayed on the content cooking and packaging process of the project. Especially when the error has been raised, it will abort the cooking and packaging process.

img_6.png

img_7.png

You can implement compilation messages by overriding UDialogueEdGraphNode's OnCompileNode. Check out how to implement it by checking out the codes in Joint Native 1.3.0.

정보

UEdGraphNode's native error reporting system has been suspended and deprecated on Joint framework. Please update your API to use OnCompileNode() instead.

void UDialogueEdFragment_Branch::OnCompileNode()
{

Super::OnCompileNode();

if (GetCastedNodeInstance())
{
if (!GetCastedNodeInstance()->FindFragmentByClass(UDF_Condition::StaticClass()))
{
TSharedRef<FTokenizedMessage> TokenizedMessage = FTokenizedMessage::Create(EMessageSeverity::Info);
TokenizedMessage->AddToken(FAssetNameToken::Create(GetDialogueManager() ? GetDialogueManager()->GetName() : "NONE"));
TokenizedMessage->AddToken(FTextToken::Create(FText::FromString(":")));
TokenizedMessage->AddToken(FUObjectToken::Create(this));
TokenizedMessage->AddToken(FTextToken::Create(LOCTEXT("Compile_NoCondition","No condition node has been attached. Branch node must have one condition fragment as sub node to work properly. It will always return the nodes at the true pins if it has been played.")) );
TokenizedMessage.Get().SetMessageLink(FUObjectToken::Create(this));

CompileMessages.Add(TokenizedMessage);

}
}
}

Search Tab Reworked

Search & Replace tab has been reworked to support better editing for the graph.

Tag Based Filtering

img_8.png

Now it provides Tag based filtering feature for the tree items. You can see the tags are being displayed right next to the item's name.

img_9.png

If you press the tag, then the filter item for that tag will be added on the filter, then the tree will be filtered with that filter item's content.

img_10.png

Adding multiple tags will work as 'OR' operation for the filter.

img_11.png

And now replace tab will apply filters for the literal type properties.

img_12.png

You can add an empty filter with Add New Filter button, and once you created a new filter item, you can modify the filter string as you want. Click the text block on the tag and change the filter as you want.

정보

you can also modify any existing filter items on the tree view.

img_13.png

You can temporally disable the filters by clicking them.

img_15.png

You can double-click the row item's name to go to the property owner node on the graph.

img_14.png

Name & Value Filter

You can also filter the items by its name and value with Name=RowItemName and Value=RowItemValue format. This is useful when you want to search for a certain property.

img_17.png

It also works as a filter item.

img_18.png

Dialogue Bulk Search & Replace Tool

Joint now provides a bulk editing tool for the dialogue managers. You can open the Dialogue Bulk Search & Replace Tab on the toolbar of the dialogue manager editor.

img_16.png

You can select the dialogue managers on the left side (Dialogue List Tab) and edit the data on the right side. This is useful when you have to search and replace the changed data on the system. (such as an asset reference, and name of the characters etc...)

img_19.png

정보

You can double-click the row item's name to open an editor for the parent dialogue manager and focus the item on the graph.

Improved Debugging

Multiplayer & Multiple World Supports for the Dialogue Debugger

Now dialogue debugger works on the multiple PIE worlds and multiplayer PIE sessions.

img_1.png

img_2.png

Bulk Breakpoint Edit & Debugger Operation Control

Now Joint provides convenient features that allow you to control every breakpoint in the graph with a single click. Now you don't have to mess around to check out whether you have any lost breakpoints.

And also you can toggle the debugger's execution (Halting PIE session) when you want to proceed without any interruptions at the moment.

img.png

Fixed

An issue that the overlay widgets are displayed on weird place above the engine version 5.2.0 has been fixed.