Let's talk about increasing speed & productivity in Blueprint.

Linear node flow deleting

I didn’t read all of the suggestions (so sorry if this is a duplicate), but this came to my mind today and I think this can be an easy fix which increases productivity:

When you have three nodes connected linearly A -> B -> C in blueprint and you delete B node from the flow, the flow should automatically go from A -> C so you don’t need to reconnect them manually.

Common use case could be working with “Print String” node for debugging:
This could improve the effectivity the same way as if you have nodes A -> C and you draw flow from A, add a Print String node B and the flow automatically connects from B to C as well. So when you remove the B you will get the original flow A -> C.

There are my minor improvements with code included :slight_smile:

I especially like my Automatic Print String node when you click on execution link with left control and left alt pressed because it makes debugging much faster

printstringinsert.gif&d=1459184440

Would be great to have that out of box.

Maybe someone would like that idea in this topic.
For now the flow looks like this (well, more or less):
RMB -> write text to get node -> enter to get a node -> grab mouse click & drag -> write text for next node

If there is a to make a shortcut for getting next node from current one from keyboard?
I know that there could be more ‘out flow’ pins but, it could work always with the first one (only one) ‘flow pin’.

What do Members think?

Would be quite nice if you could use CTRL + Arrow keys to navigate to different nodes pins (selecting) them in the process - then just typing to get context sensitive info.

There needs to be a way for people to keep their hands on the keyboard and not be forced to use both mouse and keyboard to build them IMO, because that’s where the workflow slows down. A text editor may not be it, but the key is a faster way to just get the nodes in and hooked up. Clicking and dragging is a slow, precise and often painful process.

Developer notes from Issues btw:

[]

While this is an exciting idea, this entails a lot of work - we’d likely have to rebuild Blueprints from the ground up. It’s not even clear if every Blueprint feature translates nicely into a simple C++ statement. With this, we’d be constraining ourselves to C++ constructs or building a complicated language parser as an in-between. It’s more a feature we’d consider for future renditions of the engine, but not in UE4 for Blueprints. We still have a lot of bugs and features that we hope to resolve in Blueprints, and that’s where we aim to focus our efforts.

[/]

[]
There needs to be a way for people to keep their hands on the keyboard and not be forced to use both mouse and keyboard to build them IMO, because that’s where the workflow slows down.
[/]

+1 !
If we can use keyboard to create linked nodes, it will be super !

I love blueprints, they’ve helped me a lot. This things are all very helpful for me to be honest. I’d love to see what this ends in!

[=MartinJasso;585922]
I didn’t read all of the suggestions (so sorry if this is a duplicate), but this came to my mind today and I think this can be an easy fix which increases productivity:

When you have three nodes connected linearly A -> B -> C in blueprint and you delete B node from the flow, the flow should automatically go from A -> C so you don’t need to reconnect them manually.

Common use case could be working with “Print String” node for debugging:
This could improve the effectivity the same way as if you have nodes A -> C and you draw flow from A, add a Print String node B and the flow automatically connects from B to C as well. So when you remove the B you will get the original flow A -> C.
[/]

Hi MartinJasso and Skylonxe,

MartinJasso: Thank you for your feedback, I have entered a feature request to be considered by the development staff which can be viewed .

Skylonxe: Thank you as well. This is already in our system and can be viewed .

[= ;595633]
Hi MartinJasso and Skylonxe,

MartinJasso: Thank you for your feedback, I have entered a feature request to be considered by the development staff which can be viewed .

Skylonxe: Thank you as well. This is already in our system and can be viewed .
[/]

Thank you for reply, but I think it has nothing to do with my solution. That feature request is about copy pasting nodes and mine is about creating whole new Print String node just by clicking the wire while left control and left alt are pressed. But maybe limiting it to just Print String node is too specific.

Very nice discussion! I’m just a couple of months into BP, for me - as a designer - it’s a great tool but it can for sure be improved. I’m not the most authoritative person to speak but I don’t honestly think a text editor would be a fluid solution, for me the other suggestions might work better, having less the need to constantly be alternating between mouse and keyboard. For that mattter, I think all of this sums up as productivity features for BP, small changes that can give great productivity boost. Selecting a node and then being able to write the name of the next node right away and automatically getting a linked node would be neat, but I think BP is very non-linear and that would be insufficient. Nonetheless, many small features like this can be the greatest move!

Shortcuts may not be a great solution because there are so many nodes and alternatives that it would overwhelm the keyboard.

I didn’t see this mentioned but the thing that probably slows me down the most is having to constantly keep re-opening the context menu to spawn nodes.

Say you want to spawn 3-4 nodes right?, you would have to:

right click (to open context menu) -> search and find node -> click (or enter)
right click (again) or drag from pin to get context sensitive options -> search node -> click (or enter)

repeat until you have all the required nodes…

You basically have to constantly go between mouse and keyboard a bunch of times simply because the context menu is closing!
I have tried using the palette instead but it is not context sensitive (plus you still have to drag and drop it so it’s again mouse -> keyboard -> mouse).

Am I the only one who finds this super inefficient? :stuck_out_tongue: I don’t know… there has to be a better way to do this.

[=Skylonxe;595824]
Thank you for reply, but I think it has nothing to do with my solution. That feature request is about copy pasting nodes and mine is about creating whole new Print String node just by clicking the wire while left control and left alt are pressed. But maybe limiting it to just Print String node is too specific.
[/]

The print string node shortcut is certainly useful but ideally we should probably have a section in the project settings so that we can setup our own node shortcuts however we like.

[]

bpeditor_hotkey.gif
Add your own hotkey to spawn blueprint node. (Made in older version of UE, haven’t check if it’s still apply now)

[/]

Source : Connecting Nodes shortcut - Feedback & Requests - Epic Developer Community Forums

[=TK-Master;596017]
I didn’t see this mentioned but the thing that probably slows me down the most is having to constantly keep re-opening the context menu to spawn nodes.

Say you want to spawn 3-4 nodes right?, you would have to:

right click (to open context menu) -> search and find node -> click (or enter)
right click (again) or drag from pin to get context sensitive options -> search node -> click (or enter)

repeat until you have all the required nodes…

You basically have to constantly go between mouse and keyboard a bunch of times simply because the context menu is closing!
I have tried using the palette instead but it is not context sensitive (plus you still have to drag and drop it so it’s again mouse -> keyboard -> mouse).

Am I the only one who finds this super inefficient? :stuck_out_tongue: I don’t know… there has to be a better way to do this.

The print string node shortcut is certainly useful but ideally we should probably have a section in the project settings so that we can setup our own node shortcuts however we like.
[/]

Well a few post higher I said the same. Moving your hands from keyboards to mouse and back are really slowing down.

Hotkeys are great, but for a certain functions only you can set they…

[=TK-Master;596017]

Say you want to spawn 3-4 nodes right?, you would have to:

right click (to open context menu) -> search and find node -> click (or enter)
right click (again) or drag from pin to get context sensitive options -> search node -> click (or enter)

repeat until you have all the required nodes…

[/]

I use the palette window when that happens.

I really like the C++/BP merge idea. Sad to see that it’s too much work at the moment.

However, could we get the ability to write small C++ functions directly in the editor?

Most of the time I use blueprints, but sometimes I really cannot grasp how something would be structured via visual scripting. Meanwhile, those same things are often intuitive for me in C++.

At the same time, implementing a function in C++ requires a variety of steps.
I need to start up Visual and hope that Intellitext doesn’t bug out and give me bogus error messages. Then I write my UFUNCTION() stuff in the header, try to remember which argument I needed to use to make this blueprint-usable, and start writing the function.
Then I need to pray that I won’t need multiple restarts of the editor to have the effects of a compile and hot reload stick. They don’t always work from the get-go.
And then I need to recompile and wait for the hot reload with every single edit. Which, if the hot reload doesn’t stick once in a while or Intellitext goes crazy on a whim, can really extend the times between iterating and testing.
That’s a lot of work for the ability to write twenty lines or so of code. I want something more responsive.

I would be really grateful if I could just, whenever I’m prototyping stuff and need a small function that doesn’t warrant going the C++ route, stay in the editor and type everything up in there.
It could be a new type of asset. Or it could be the ability to add pure text functions in a blueprint function library.
Or it could work like the “math expression” node that already exists, just with a slightly bigger editing field.
Personally, I don’t even need syntax highlighting. Just a way to use text instead of nodes once in a while.
Ideally it would somehow work without compile times, but I would assume that that’s a pipe dream.

I really hope I didn’t just suggest something that looks benign but is as complicated as the OP post.
From a user standpoint, it would probably be more reliable (albeit also a bit less flexible and more mouse-heavy) if inputs/outputs and variables/references were defined from the editor UI instead of via text. That way, the correct names of things could be displayed by the editor, which would factor into the “quick prototyping in C++” aspect. Or maybe that would be too dumbed down.