Blueprint Assist Plugin

thanks

Hello, don’t know if it’s related to the error you mentioned, but I got a crash when adding a Sequence node between two linked nodes (UE5.3).

edit: I suppose because after updating all seems ok.

Assertion failed: IsValid() [File:D:\RocketSync\5.3.0-27405482+++UE5+Release-5.3\Working\Engine\Source\Runtime\Core\Public\Templates\SharedPointer.h] [Line: 1139]



UnrealEditor_BlueprintAssist!FBAGraphHandler::PostFormatComments() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistGraphHandler.cpp:1714]
UnrealEditor_BlueprintAssist!FBAGraphHandler::PostFormatting() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistGraphHandler.cpp:1664]
UnrealEditor_BlueprintAssist!FBAGraphHandler::FormatNodes() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistGraphHandler.cpp:3191]
UnrealEditor_BlueprintAssist!FBAGraphHandler::UpdateNodesRequiringFormatting() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistGraphHandler.cpp:2456]
UnrealEditor_BlueprintAssist!FBAGraphHandler::Tick() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistGraphHandler.cpp:467]
UnrealEditor_BlueprintAssist!FBATabHandler::Tick() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistTabHandler.cpp:53]
UnrealEditor_BlueprintAssist!FBAInputProcessor::Tick() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistInputProcessor.cpp:100]
UnrealEditor_Slate!FSlateApplication::FinishedInputThisFrame() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1428]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5809]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:118]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:258]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:298]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Thanks for letting me know. I believe the latest update fixed this case, but I’ll keep an eye out for this one.

I’d like to make a small feature request, if it isn’t too much trouble:
I found out that there are actually 2 types of comment bubbles, the normal comment that we are all used to and another that is mostly used by custom editors, made through SNodePanel::PaintComment. I noticed that when you format nodes, it considers the normal nodes comment when spacing out nodes, but not this other type of comment. This isn’t really an issue in Blueprints as I’ve never seen any Blueprint using this, but for plugins like “Flow”, where both type of comments are used quite heavily, this is a common issue.

image

Thanks for letting me know, I’ll have a look at this :+1:

1 Like

Hi I had a look into this, this issue only occurs for the Flow graph.

Unfortunately the way this special comment bubble is not a widget but instead painted straight onto the graph along with the node. Which means I can’t calculate the bounds of it and cannot fix the spacing for this case…

Ah that sucks, I suspected something weird was being done because not even the Widget Reflector debugger can click on this comment bubble. Is there any way to implement a fix on Flow’s side? Is there any way of perhaps “lying” to the editor the bounds of the node? I believe I found some code in this bubble that calculated the width required to fit the text.

Yes that would be possible however the problem is I would need to know what the text being displayed in that bubble is meant to be.

I don’t think I can do that without including the Flow plugin as a dependency and I cannot do that for my plugin.

1 Like

I believe I’ve found a bug, I found this while working in Flow where I have nodes that change sizes and found a way to replicate the issue in normal blueprints.

If you create a function, use the CompactNodeTitle and put in some text, place it in a graph and format it, it’ll behave just normally. If you then change the word into something longer and format it again, the formatter still believes the node is the old size and won’t accommodate for the new size.
But if you place down a new node with the new size, then the formatter treats the size correctly.


If I modify GetCachedNodeBounds to always use the nodes GetDesiredSize, it fixes this, but that causes comment bubbles positioning to break.

You don’t want to be using GetDesiredSize because when you zoom in / out the graph this size will change. So you can’t get a consistent node size with that function.

For now you can select the nodes and manually run the command to Refresh Node Size (CTRL + SHIFT + R) and this should update it. I’ll see if I can do something to automatically check for the compact title change.

It’s not specifically around compact title change, so just finding a fix for this specific scenario won’t fix the original issue that I’m having in the Flow graph and might not fix it in other areas where nodes can change sizes. The issue is that some nodes can change sizes and the plugin is still using the cached size before the size changed. This is just one way that I found in Blueprints to replicate the issue I’m finding in a different plugin (that is still using the same node system as Blueprints)

The plugin detects most of the size changes and will refresh the size for these nodes before formatting. Thus (it should) keep an accurate size even if you resize the node.

You can look at the BlueprintAssistNodeSizeChangeData.cpp file to see exactly what it does account for right now. If there is another case in regular blueprints which triggers the size issue please let me know and I’ll try to fix it.


Regarding nodes in the flow plugin: since these are not implemented exactly the same as normal blueprints, there will be edge cases which I cannot fix at all because it would require including the flow plugin.

Perhaps in the future I can look into making a fork of the plugin to fix these but I do not have plans for that right now.

Is there a setting to override the default padding for seperate event nodes grouped together in a comment? Basically I would like event nodes which are in the same comment to be closer together than the rest of my events.

Hi @Orapakata, this is not supported at the moment. However it should be fairly simple to add, I will try to look into this for the next update.

1 Like

Added in version 4.2.17: See setting named Format All Padding In Comment

1 Like

Hello! How can I stop this weird reroute node formatting behavior from happening?

I’m on UE 5.3, using Left Hand Side style.

Hi @TheSilver812, this does look like a bug. I tried to replicate a similar case on my end but wasn’t quite able to. If possible, could you post the entire function?

Sure, no problem! Here are a few instances of this happening:



I also got this problem in the same project:

Which referred to the selected reroute node here:

I think the problem is that the wire connection after it was doubled for some reason.

And for a while I also had the Auto Size Comments plugin in this project, but I had many problems when using the formatting function of your plugin. The comments changed their size completely and got one inside the others pretty much every time there was more than one comment at the same time. Quite frustrating to be honest. I have no example of this right now, sorry.

These are my BP Assist settings:



I can also lend you the whole project if you need it. It’s just a class assignment for my studies, nothing important nor big.

Thanks for the screenshots. There certainly seem to be some odd things going on here, I suspect some of these may be fixed by simply refreshing the node size.

You can do this by selecting all the nodes in the problematic functions and pressing CTRL+SHIFT+R. Do let me know if this fixed any of the cases in your images.

If there are still formatting issues, another thing to test is simply stop the formatting from handling comments (as this usually kind of the buggy part of it). You can do this in the BP Assist toolbar icon > Apply Comment Padding.

Lastly the warning with the “Badly linked reroute node”, does this go away if you delete it and reformat? If not it would be very appreciated if you could share the project. This is an issue that I thought I had resolved a long time ago :confused:

Sadly none of your advices worked. But hey, at least I managed to capture an example of the comment problem I mentioned earlier. This is the code before formatting, with separated comments:

And this is after formatting (bugged reroute node here too):

I sent the link to download the project to your email: func.pwong@gmail.com

These are a few of the affected functions:

W_BuildingSelector → EventPreConstruct
BP_TerrainGenerator → CheckTerrain
BP_TerrainGenerator → CalculateLake
BP_BaseBuilding → AddItemToProduction (Bad reroute and comments here)
PS_RTS → PayResourceCosts