Engine Version: 4.6.1
Note: Some of these wishes / features may have been implemented in 4.7.X but I haven’t looked at it to know.
UE4 Wishlist:
Editor:
Widget / User Interface Designer:
- In the user interface designer, you can select multiple objects but you cannot drag them as a group. You have to manually place each one individually if you want to move them. It would be nice to be able to select multiple items and drag them as a group.
- It would be nice to be able to lock controls in place. This would help to avoid accidentally moving something. You should be able to toggle the lock with either a right click menu item or by checking/unchecking a value in the “Slot” details panel.
- Dragging an item from one canvas panel to another should preserve its relative offset values instead of resetting the position X/Y values to [0,0].
- There should be a function which can be called to flag a widget for garbage collection. Use case example: You have a confirmation window which pops up only once throughout the entire game. There’s no need to keep it laying around in memory, so we can flag it for destruction.
Blueprint Debugging:
-
Sometimes when debugging a blueprint, the “step” button gets replaced by the “stop” button (ie, switching from debugging a level blueprint to a blueprint function). If you’re clicking this quickly to move through a blueprint and the buttons shift positions, you accidentally stop your debugging and have to start over. If you need to add a button, insert it at the end of the button list instead of in the middle.
-
The step debugging should copy all the same debugging keys Visual Studio uses (for consistency):
-
F9 = Toggles a breakpoint (done)
-
F10 = Step over
-
F11 = Step into
-
Shift + F11 = Step out
-
F5 = Resume
-
It would be really nice if we could drill down into the internal values of a blueprint variable instead of just seeing the instanced object its referencing. Dereference it and show me the internal but public variables I can access from the blueprint (similar to visual studio object debugging).
-
Variable values I’m very interested in examining go out of scope even if they feed the current execution node I’m on.
Blueprints:
- -Usability: It would be nice if some fields were highlighted by default when you create a blueprint node. For example, if you create a “Print String” node, the “In String” input node should be highlighted so you can continue typing. Usually, you are searching for a node to add, so you type in “Print” to get the node, press the enter key, and then you have to move the mouse to highlight and delete the placeholder text, and then type in your own. It’d be nice to just keep typing after pressing “enter” and the placeholder text would be replaced. You could even implement this generally via some UPROPERTY() value.
- Usability: Ctrl + Box select should add the additionally selected blueprint nodes to your current selection. Currently, you have to Ctrl + click each node to add them to your selection. It should be a similar behavior to selecting files within windows explorer. Oddly, you can Ctrl + box select to deselect nodes.
- **Minor OCD request: **Nodes are placed on a grid. When you move a node, the X/Y values move the node by a fixed step size (say, +/- 5). I have a few nodes which are not perfectly aligned. Let’s say that I want to have them aligned on the X axis and I can move a node up or down on the Y axis by units of 5. If my first node Y value is 45 and my second node Y value is 52, I can never get the nodes perfectly aligned. Moving the first node up by +5 would set its you value to 50, which is below the second node, and moving it up again would push it to 55, which is too high. There’s no way to change the unit size. This is purely a cosmetic request, but I like to have my blueprint wires very straight and organized so there’s no mess of wire spagetti.
It would also be sweet if there’s an editor preference which can toggle the way blueprint wires are rendered. Currently they look like spline curves, but what if I wanted straight lines which follow the X/Y axis with hard 45 degree angles? My nodes could look more like a circuit board or a flow chart diagram and I wouldn’t have to monkey around with precise node positioning to get straight wires. - Usability: Comments - I can’t see what I’m typing if my caret moves past the comment boundaries. I’d like this to be changed. Maybe wrap the text if it gets past the comment boundary?
- Infinite loop detection or the possibility to break execution on a construction script. Currently, if you have an accidental infinite loop, UE4 hangs and you have to restart the editor (and hope the construction script doesn’t execute again).
- It’s really cumbersome to modify values in a struct/class. You have to get the object, break it, get the sub var, create a node to modify the value, then create a new struct/class node, and copy all the values into it. This creates a ton of visual clutter. In C++, you can do this cleanly in one line of code: MyVector.X += 5; It would be nice if there was a way to do this more elegantly with blueprint nodes.
Perforce:
- Please move the Perforce sync button a little further away from the window close button (maybe next to the minimize button instead?). “oh, I need to save this asset. Better switch perforce profiles. Oops, misclicked the close button instead!”