how about making a survey for the most annoying things in blueprint editor ...

as the title said, please make a survey for the most unwanted time waste at editing.

my example this week thu to sun :
why did the ai not go through the just opened door - the navmesh rebuild was off by default^^
why have the nav mesh a gap - ground objects was not exact side by side
why is a decal visible at the character - disable receives decals at mesh (dlc)
why is the console window not in menü and did not open - reassign the key binding for and at play i need pause with shift-f1.
why goes the nav mesh not at stairs - it need smaller cell size …
why do we need this excessive casting
why are included objects not visible in design
(current) why do we have multiple “attach to” and every node does not work - we just need parent object a at b
why does behavior-tree work only with ai controller and not with player controller
why do we need so much animations and not simulation muscles with easy commands
why can not copy/paste variables
why its not intuitive - we need someone that knows solutions and watching (out of date) appreciated videos (and as a side note they are faraway from realistic game development) for the basics.

Most of these are complaints are due to lazyness or bad design of the code

i think instead of new features there are so much need for improvements at the basis.

today i have two more that i can remember:
copy/paste multiple actors from scene into blueprint components did not work.
set active did not work for collision spheres, they hava a extra node for enable/disable.

Actually this one is quite something I’d like to see!

Actually this is possible, you just need to create a “get” node for each variable you want and then select them all, ctrl+c, ctrl+v into the blueprint you want to copy to, then right click on each variable node and select “Promote to variable”. This will add the variable name/type to the blueprint.

Having to use shift+f1 to regain mouse control is something you can turn off in Editor Preferences, however using it this way will require you to click somewhere in the viewport in order to gain control of your character in game. This will allow you to use the console immediately upon hitting play.

Go to: Edit -> Editor Preferences -> Select the “Play” tab under Level Editor -> Uncheck the “Game gets mouse control” option.

If you want the command line during development, go to:

Window -> Developer Tools -> Output Log

Can you go into a bit more details for these questions? Such as what you are trying to do for each? For example on the “Attach To” one, is this in Component view or in the graph editor?

Thanks

@** **
That is true, it’s not just copy/paste, you do have to create a Get node for each one by one before you can do anything. I agree it would be nice if you could just select them in the panel itself, but I gave that example just because it’s easier than starting from scratch. :wink:

Hopefully not many people are creating hundreds of variables though. Collapsing a group of related variables into a Struct, or using a MaterialParameterCollection (if they are editing numerous variables to modify parameters on a material) are both better choices than straight up variables imo, plus they make the variables reusable to some extent. BP Structs are pretty much just variable containers so they are ideal for lowering your BP variable count, but can be a bit of a pain to work with in the graph editor… You could even create a base class in C++, put all your variables in there then create an override in BP, but this requires that you know C++ which inst a given.

No matter what though, compromise is the key to keeping things clean & reusable, whether it is code or BP. The cleaner it is, the longer it takes to set up, but once you do you save yourself from headaches down the road!

Currently compilation times for Blueprints are horrendous; I’m moving more and more things to their own C++ modules because of that…
(Being a relatively small module in C++ it’s compiling in blink of an eye since I recompile only that one module I was changing)

As for the copy&paste thing I’ll take a look into the source, maybe I can code something and add it via PR.

@ Don’t get your hopes high, my last PR is from August 2017 and its still being reviewed… So no clue when this actually lands in the engine :S

You could use an interface for that and check if the hit object implements it. The interface has an method “onExplosion” and implementing objects can change their material based on that.
This would remove the casting to specific classes and replace it with a single “implements interface” call.

As TriNityGER said, the casting problem is a problem of your implementation instead of the engine.
Using this validation:

and calling the interface method.
Every “obstacle” knows how should react when a missile is hitting it, implementing its behahivor in the “onExplosion” interface implementation.

Well, often the best solution is to have clean class structure. So every object reacting on hit is a child of the specific class with an abstract event. It’s super convenient for content creators to work in with such setup.
Of course, it could be not easy to develop a clean code architecture like this if overall game design changes often xD

There is a reason for that though isnt there, its because the selection in that panel relates directly to the defaults property panel for that variable. I had thought about multiple selection myself as a way to quickly change variable types but Im not sure it would work, the details panel in the level editor portion works abit different and allows different values for multi-selection but thats because those variables have been flagged specifically.

Just to touch on casting, if youre really accessing an object of a specific type so often then it might be best to have a reference to that type rather than one of its parents.

today i have something new that waste my time:
a dlc or something added to my project kills/overwrite my project settings^^
i wonder why my gamepad did not work in my level. my input settings are lost.

i mean the list where variables is listed, it already have a context menu, i like to see a multiselect here + copy/paste. thats intuitiv.
or at least a hint use copy/paste via blueprint there.

i mean this window its not in the menu to open. (a menu will work also if you have not the keybinding to it …)

about blueprint design
example classes C = A + B
A = Cast C into A
B = Cast C into B
the blueprint know a,b,c me dissatisfies that a & b is hidden in c.
if you replace a with a compatible class you need to edit the cast in blueprint, if you forget this the cast fail.
what i like to see is a compleate blueprint design where you see gamemode,playerstate,player,playercontroller,playeranimation,playerhud.
because everything act together.

“Attach To” was a time wasting thing in graph editor.

its difficult to explain what i mean.
the blueprint designer shall just give me that objects that are there, provide direct. (in my imagination the cast will be a blackbox for me)
and if there are incompatible changes elsewhere my nodes should stay as ghosts.

i understand interfaces and i used it for my project but it did not change the game concept
with “gamemode,playerstate,player,playercontroller,playeranimation,playerhud,…”
i explained above.
its split in a bunch of blueprints but typically they interwork.
every time i think about how to reach this blueprint from this blueprint.
its unnecessary complicated in blueprint design.
what i am missing is a hierarchy blueprint editor as well.