Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [BLUEPRINT] 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.
    ...
    Last edited by MarkusR; 04-22-2018, 08:36 AM.

    #2
    Originally posted by MarkusR View Post
    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

    Comment


      #3
      Originally posted by Raildex_ View Post
      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.



      Comment


        #4
        why can not copy/paste variables
        Actually this one is quite something I'd like to see!

        Comment


          #5
          why can not copy/paste variables
          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.
          Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

          Comment


            #6
            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.
            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


            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 its not intuitive - we need someone that knows solutions and watching (out of date) appreciated videos
            copy/paste multiple actors from scene into blueprint components did not work.
            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
            Last edited by DotCam; 05-03-2018, 02:33 PM.
            Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

            Comment


              #7
              Originally posted by DotCam View Post
              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.
              DotCam

              Mmmh, that's only half a solution though, really, isn't it? Its often quicker to purge/clean-out a Blueprint of code / assets leaving the ONLY the variables in place. THEN clone the BP... Then copy / paste the code in afterwards. The reasoning is this....

              You can't select multiple Variables in the left-hand-side Variable-pane and have those create a series of Gets all in one go. It has to be done one by one. You also can't select multiple variables in the Graph, and then right-click on them 'Create-Variable'. It only works on the 'last highlighted' iirc. So where's the advantage here? You might as well just copy / paste the code. Then right click on each Variable-error in the Compiler-Results tab/window, and chose 'Create-Variable' that way.

              So its still a PITA overall / a BP shortcoming. It makes no sense that you can't copy BP variables directly - Even UDK-Kismet had this! - For sure, experienced devs will limit times this arises through arrays or inheritance or whatever. But for less experienced devs with hundreds of variables, it must be slow torture...

              Comment


                #8
                @franktech
                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.

                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!
                Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

                Comment


                  #9
                  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)
                  | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                  Comment


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

                    Comment


                      #11
                      Originally posted by TriNityGER View Post
                      As for the copy&paste thing I'll take a look into the source, maybe I can code something and add it via PR.
                      TriNityGER

                      A solution to Copy / Paste of Variables would be very cool!
                      Because no matter what approach is used: Mine / DotCam....
                      All Default-Values are all completely lost, which is a PITA.

                      Comment


                        #12
                        franktech 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

                        Comment


                          #13
                          Originally posted by MarkusR View Post
                          why do we need this excessive casting
                          Next to perhaps Event Dispatchers, Casting is probably the least well explained thing.
                          Let me see if I can try a different approach. Imagine you're firing Missiles at a Building.
                          If a Missile hits the building you want the Mesh Material to reflect burn marks/damage.

                          But all around this building are obstacles: lampposts, cars, trees, animals, characters...
                          These will get new material changes too, but unique for animals / characters / cars etc.

                          How can you implement this? Maybe add Tags to all the different actors ahead of time...
                          That's work though. So instead you could use Casting to discern which object is which.
                          Cast to Character... If successful, use the special Character-Material, if not cast again....
                          Look for Animal object... Look for Car... Look for Foliage... Detect Lamppost/Building....

                          In UDK Visual-Scripting wasn't object oriented, so there was no way to detect Classes...
                          Or types etc... What that meant was you ended up with lots of silent failures. Not good!
                          So Epic made a very deliberate decision to add typing / classes into UE4 to end this!!

                          Comment


                            #14
                            Originally posted by TriNityGER View Post
                            franktech 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
                            No worries TriNityGER... That's understood! I don't really expect this to get done until UE5.
                            But even just having a PR floating around may act as a reminder to one of Epic's developers.

                            Comment


                              #15
                              Originally posted by franktech View Post

                              Next to perhaps Event Dispatchers, Casting is probably the least well explained thing.
                              Let me see if I can try a different approach. Imagine you're firing Missiles at a Building.
                              If a Missile hits the building you want the Mesh Material to reflect burn marks/damage.

                              But all around this building are obstacles: lampposts, cars, trees, animals, characters...
                              These will get new material changes too, but unique for animals / characters / cars etc.

                              How can you implement this? Maybe add Tags to all the different actors ahead of time...
                              That's work though. So instead you could use Casting to discern which object is which.
                              Cast to Character... If successful, use the special Character-Material, if not cast again....
                              Look for Animal object... Look for Car... Look for Foliage... Detect Lamppost/Building....

                              In UDK Visual-Scripting wasn't object oriented, so there was no way to detect Classes...
                              Or types etc... What that meant was you ended up with lots of silent failures. Not good!
                              So Epic made a very deliberate decision to add typing / classes into UE4 to end this!!
                              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.

                              Comment

                              Working...
                              X