pdlogingithub / ue4-node-graph-assistant Goto Github PK
View Code? Open in Web Editor NEWA plugin to help you to create node graph faster and easier in unreal engine 4.
A plugin to help you to create node graph faster and easier in unreal engine 4.
Hi I keep getting crashes in 4.26 every now and then. I haven't been able to replicate it consistently but it seems to be happening when auto connecting variables to function pins.
Here is the crash logs:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
0x00007ff9dd5d1e2c UE4Editor-NodeGraphAssistant.dll!NGAInputProcessor::TryProcessAsAutoConnectMouseUpEvent() [D:\Build++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NodeGraphAssistant\Source\Private\NGAInputProcessor.cpp:1885]
0x00007ff9dd5b7da8 UE4Editor-NodeGraphAssistant.dll!NGAInputProcessor::HandleMouseButtonUpEvent() [D:\Build++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NodeGraphAssistant\Source\Private\NGAInputProcessor.cpp:2819]
0x00007ffa12ee8e36 UE4Editor-Slate.dll!FSlateApplication::PollGameDeviceState() []
0x00007ffa12ef0307 UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent() []
0x00007ffa12ee3632 UE4Editor-Slate.dll!FSlateApplication::OnMouseUp() []
0x00007ffa2c22bcb5 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage() []
0x00007ffa2c219197 UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage() []
0x00007ffa2c22e389 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage() []
0x00007ffa2c214310 UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc() []
0x00007ffa50ece858 USER32.dll!CallWindowProcW() []
0x00007ffa50ece299 USER32.dll!DispatchMessageW() []
0x00007ffa2c22f914 UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages() []
0x00007ff620c78848 UE4Editor.exe!UnknownFunction []
0x00007ff620c9117c UE4Editor.exe!UnknownFunction []
0x00007ff620c9125a UE4Editor.exe!GuardedMainWrapper() []
0x00007ff620ca52bd UE4Editor.exe!InitializeModule() []
0x00007ff620ca7fea UE4Editor.exe!InitializeModule() []
0x00007ffa4fdc7034 KERNEL32.DLL!BaseThreadInitThunk() []
0x00007ffa51b42651 ntdll.dll!RtlUserThreadStart() []
Can you update the plugin to UE4 v4.22.0?
Just thought you'd like to know that your "Support page" link on the addon listing page in the epic market is dead.
Since it doesn't look like you answer questions on the market I thought I'd mention it here instead.
Hi,
When using the "add on wire" feature with keyboard shortcuts, the editor crashes. No crash happens if the same node is placed on the wire via the context menu. Tested in 4.24.1
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:C:\UE4\GPULM-src\UnrealEngine\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 614] Array index out of bounds: 1 from an array of size 1
UE4Editor_Core
UE4Editor_Core
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_NodeGraphAssistant!<lambda_3148305638c34bafbe98f92f80a1f800>::operator()() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\nodegraphassistant\source\private\ngainputprocessor.cpp:2169]
UE4Editor_NodeGraphAssistant!NGAInputProcessor::Tick() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\nodegraphassistant\source\private\ngainputprocessor.cpp:2698]
UE4Editor_Slate
UE4Editor_Slate
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll
Something I really miss is a feature to delete a node but reconnect input and output exec wires.
e.g. I want to delete the debug-print I inserted between two nodes, press shift-delete and the node gets deleted and the input and output wire connected
related: inserting a node "on" a wire. e.g. I want to insert a temporary debug node between two nodes. I drag the debug node on a wire, the wire gets hilighted and on release gets inserted between nodes.
Just curious if you are working on the PCG side because I encountered some issues.
Maybe you have already started to look into it and could give an estimate?
Also, is this the best place to report bugs?
大佬,4.26 有没得更新的~
Hello,
Please can you add the support for the [TAB] keyboard button to show the context menu for adding new nodes instead of using the RMB only?
It would be a cool addition as most node based packages like Houdini and substance use it.
Thanks.
As the title says
Hey
Thank you for this nice plugin. It's really handy.
While using it we ran into a situation where we thought: "That would be nice to have". One of those "nice to have" things would be the ability to connect selected nodes by using a shortcut. This would be really helpful if you got quite a few nodes close to each other with compatible pins (all floats, ints, etc.). Being able to just select the nodes we want to connect would be a bit easier and faster than wiring them in or trying to correctly position them for the auto connect feature.
Usage Example:
Thank you for your work!
Is it possible to define custom spacings between nodes? Currently it rearranges them sometimes too close each other
I am new to using this plugin, so it's very likely just user error and me being dumb or something.
I am trying to do "Insert Node on Wire" as shown in example 16 here
https://github.com/pdlogingithub/UE4-Node-Graph-Assistant/blob/master/README.md
I am in a material, using a single scalar and abs and trying to add an add node. It just never connects like that for me.
I also tried using a regular blueprint actor and inserting a print string node between 2 other nodes that were connected.
I am in a pretty new UE project and the only other plugin I have enabled is electronic nodes. Which I don't think should be interfering with this. As most every other Node Graph Assistant plugin is working except for "insert node on wire".
Here are my settings.
https://i.imgur.com/lWlJ4H6.png
AutoConnect works fine for me when I move nodes close together. Also my blueprint editor visually show it should be on. https://i.imgur.com/aqZqLYG.png
I've restarted my editor a few times too.
Any suggestions on things for me to check or try differently? I'll keep trying and post here with any updates.
Connecting the pins between custom event and == node as shown in the screenshot will consistently freeze the editor and eventually lead to a crash with the following stack trace:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
UE4Editor_NodeGraphAssistant!NGAInputProcessor::TryProcessAsAutoConnectMouseUpEvent() [D:\Build\++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NodeGraphAssistant\Source\Private\NGAInputProcessor.cpp:1885]
UE4Editor_NodeGraphAssistant!NGAInputProcessor::HandleMouseButtonUpEvent() [D:\Build\++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NodeGraphAssistant\Source\Private\NGAInputProcessor.cpp:2819]
UE4Editor_Slate!FSlateApplication::InputPreProcessorsHelper::PreProcessInput() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:6900]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5349]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5321]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2178]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2642]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1046]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:878]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:130]
UE4Editor!FEngineLoop::Tick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4748]
UE4Editor!GuardedMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Hi,
First off, I started using this plugin yesterday, and find it incredibly useful.
This morning I had just connected a couple of nodes using Auto Connect. I compiled the blueprint and went to start PIE, and it told me "Can't Play In Editor when performing Insert node operation".
More a feature request - When connecting multiple nodes to say an Enum Switch, it often Alt-C connects in a random order. Wonder if this could be solved that they connect in the order of the nodes it is connecting to from top to bottom?
This particular example is a lot of course but it happens on smaller selections also
5.3 version
Hey there,
These changes are really nice, however, I would suggest converting this to a pull request as you are breaking the UE4 EULA by having this much engine code publicly available. Additionally by having it as a PR it makes integrating it into users source versions of the engine a breeze.
Regardless, loving the changes, brings some much needed improvements to UE!
What license does this plugin have?
First you had the Sources included, now you've deleted it - so is it open source or not?
Alt-V paste does not always work/works intermittently. Ctrl-c then Alt-v (to copy nodes with connections)
sometimes will work for the first or second Alt-V paste then stops
BTW - love this plugin, saves me so much time - well done DEV!
It would be great to have a shortcut to select everything after or below the current selected node.
Sometimes it useful to move a huge part of nodes, but MMB shortcut selects only connected nodes and not all nodes after them.
I just had a crash that seems to be NGA related.
Here's the crash log:
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 614] Array index out of bounds: 1 from an array of size 1
UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [d:\build++ue4\sync\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UE4Editor_Core!FOutputDevice::LogfImpl() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UE4Editor_Core!AssertFailedImplV() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:101]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:445]
UE4Editor_UnrealEd!DispatchCheckVerify<void,<lambda_2519354e8d7c841a0a01de7e75d057d0> >() [d:\build++ue4\sync\engine\source\runtime\core\public\misc\assertionmacros.h:165]
UE4Editor_UnrealEd!UTransBuffer::Cancel() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editortransaction.cpp:1248]
UE4Editor_NodeGraphAssistant!<lambda_9d8bcbb01b314107d512b77a8be9f2bb>::operator()() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\nodegraphassistant\source\private\ngainputprocessor.cpp:1462]
UE4Editor_NodeGraphAssistant!NGAInputProcessor::Tick() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\nodegraphassistant\source\private\ngainputprocessor.cpp:2698]
UE4Editor_Slate!FSlateApplication::InputPreProcessorsHelper::Tick() [d:\build++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:7678]
UE4Editor_Slate!FSlateApplication::FinishedInputThisFrame() [d:\build++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1637]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:4235]
UE4Editor!GuardedMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\launch.cpp:173]
UE4Editor!GuardedMainWrapper() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:147]
UE4Editor!WinMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:279]
UE4Editor!__scrt_common_main_seh() [d:\agent_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Pressing Alt+MiddleClick inside the AutoSizeComment node does not work because it does not recognize the blank space inside the comment.
In NGAInputProcessor::InitEventContex
to detect if the cursor is over blank space inside a comment, the plugin checks the index in the widget path. This doesn't work with the AutoSizeComment graph node because it is constructed differently and so node will not be at the same index in the widget path as the default SGraphNodeComment
.
Instead we can check if the widget path contains a SInlineEditableTextBlock
with a higher index, which is another way of checking if the cursor is hovering the title bar. This can be done by editing the branch at NGAInputProcessor.cpp:line 224
if (widgetName.Contains("Node") && widgetName.Contains("Comment"))
{
ctx.IsCursorOnPanelEmptySpace = true;
// if a previous widget in the path is a SInlineEditableTextBlock then the cursor is over the title bar
for (int j = i; j < widgetsUnderCursor.Widgets.Num(); j++)
{
FString previousWidgetName = widgetsUnderCursor.Widgets[j].Widget->GetTypeAsString();
if (previousWidgetName == "SInlineEditableTextBlock")
{
ctx.IsCursorOnPanelEmptySpace = false;
break;
}
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.