[Feedback] Blueprint usage

Hi,

today I would like to give a personal opinion regarding the current way of using blueprints. I’m specifically talking about the way of creating, manipulating and moving nodes inside a graph.

  • This is a sort of minor thing, but this is driving me a bit crazy : the nodes don’t always align to the grid. Kismet didn’t had a grid so it wasn’t really a problem, but now that we have a nice grid to snap on I like to put my graph in a very clean and understandable way. This is just a personal point of view, but I would prefer to see the nodes aligned to the grid. Currently, when you snap a node to the grid, there is also a border that is not aligned. From what I understand the size of a node is defined by its content (inputs/ouputs and name), but I believe a change can be made to make them all perfectly aligned. You can also note that there is no way I could align the white connected line perfectly, since the Event node and the SetCinematicMode Function don’t have an arrow that can be put at the same height.

nodes_gif1.gif


  • Regarding the point above, the current highlight of the nodes make them hard to align since the yellow/orange highlight is covering the view. My proposition would be to put the highlight inside the nodes :

nodes_gif2.gif


  • The strength of the snapping also feel inconsistent : I have the impression that moving a node is easier inside the level blueprint than inside the AnimGraph of a Persona (the EventGraph feels is also different). I also felt the change between the betas and I have the feeling the snapping was very hard with the beta 2 (1627304), better with the beta 3 (1711197) and now a bit harder in the beta 4 (1808360). I think it would be great if the user could set the strength of the snapping, via an editor setting for example. Also, in Substance Designer for example the snap only happen near a grid line, the rest of the time the node is free, this give a better feeling in my opinion, the nodes don’t feel like “blocked” or “stuck”. This is especially easier since the grid is bigger than what it is currently in Rocket :

snap_rocket.gif

snap_substance.gif


  • I’m also having a lot of troubles moving some nodes (such as variables). There is a consistency problem here because as the image shows : some node don’t behave the same way when you click on them. In my example clicking on the name of the MatineeActor will move the variable while on the Target/MeshBody variable it will brings the connection line. There is visually no difference that can tell you why it’s happening, meaning you will have to make a lot a click to get what you want. This is frustrating and slow down your work. My suggestion would be to reduce the “connect” area to something similar of the function nodes (the white arrows have a very small connect area). Also, in my example you can see the height of each node is different, that the blue dots don’t align.

node_moves.jpg


  • The zoom/unzoom is annoying because it always try to focus the view on the currently created nodes. In substance Designer for example you don’t have this problem, the zoom location is defined by the mouse position. I always unzoom/zoom this way because it’s fast and allow me to work in a new free area quickly. Currently in rocket the behavior of the zoom make this way of working annoying.

zomm_rocket.gif

zomm_substance.gif

Thanks for the detailed feedback!

Making nodes a multiple of the grid size is very tricky because our nodes contain such a variety of UI elements, and we use Slate’s layout system to put them all together.

The highlight covering the corner of the node is interesting, we will think about that.

We have also had problems with moving ‘variable get’ pins around because the label takes up most of the pin, leaving little left to grab. We will continue to think about a good solution.

Our current zoom implementation tries to stop you from getting ‘lost’ by zooming into an area a long way from the nodes. I can see that sometimes that is what you want though! We’ll try iterating on this a bit.