Announcement

Collapse
No announcement yet.

Please implement Short-Circuit evaluation for Blueprint

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

  • replied
    Bump... please make it a priority :')

    Leave a comment:


  • replied
    Bump. Desperately need this. Don't want to have so many branches and IsValid macros to write otherwise very normal code.

    Leave a comment:


  • replied
    Originally posted by ambershee View Post
    Edit: as an aside, talking about proper short circuiting - conditions failing early and logic not being evaluated when it doesn't need to be would be a welcome change (boolean condition checks, select nodes) - but this is unrelated.
    This is neither an "aside" nor "unrelated", this is exactly what the thread is about, as well as being an example of how terrible people are at interpreting text nowadays.

    Anyway, the biggest roadblock to implement this is that all pure nodes in BP like AND, OR, and SELECT are actually functions under the hood and thus need all their arguments before they can run. For short circuit evaluation there would need to be a new kind of node that is capable of lazily evaluate its pins, with very different underlying code. Doesn't sound trivial at all.

    Leave a comment:


  • replied
    +1 for the request.

    Originally posted by ambershee View Post
    there's a reason this feature doesn't exist - it can't. It would totally break recursive functionality.
    how would this break recursive functionality?

    Leave a comment:


  • replied
    Originally posted by ambershee View Post
    Not sure how we've managed 7 pages, but there's a reason this feature doesn't exist - it can't. It would totally break recursive functionality.

    Edit: as an aside, talking about proper short circuiting - conditions failing early and logic not being evaluated when it doesn't need to be would be a welcome change (boolean condition checks, select nodes) - but this is unrelated.
    Even if it was a checkbox option on the node or its own node?

    Leave a comment:


  • replied
    Not sure how we've managed 7 pages, but there's a reason this feature doesn't exist - it can't. It would totally break recursive functionality.

    Edit: as an aside, talking about proper short circuiting - conditions failing early and logic not being evaluated when it doesn't need to be would be a welcome change (boolean condition checks, select nodes) - but this is unrelated.
    Last edited by ambershee; 01-09-2018, 11:52 AM.

    Leave a comment:


  • replied
    I just assumed that BP did this automatically.

    Leave a comment:


  • replied
    +1 here, still waiting for this.. just ran into the same issues again, as i built some blueprint nodes like i would've done using C++. Obviously the access violations spammed my log and i had to adjust my blueprint using much more nodes

    Leave a comment:


  • replied
    +1, here is another case when this would be useful:
    https://forums.unrealengine.com/deve...s-branch-nodes

    Leave a comment:


  • replied
    I was moved to make this today

    Leave a comment:


  • replied
    Originally posted by franktech View Post
    True but it also says:
    Checked in UE 4.16 - still call every option node function.
    Checked in UE master - still call every option node function.

    Click image for larger version

Name:	472da461003a27a11fc0150b6dbecdd9.png
Views:	1
Size:	71.8 KB
ID:	1128641

    Here is my test code. Number Log outputs formatted string Option {Number} Log. All three are printed.

    Leave a comment:


  • replied
    Originally posted by franktech View Post
    True but it also says:
    Developer Notes: this issue no longer occurs in 4.16 Main CL 3275234
    Sadly that Note seems outdated https://answers.unrealengine.com/que...-ue-20044.html

    Really was looking forward for that fix...

    Leave a comment:


  • replied
    Originally posted by franktech View Post
    +1.... Epic also killed off Kismet features that were far better & more powerful than Blueprints:
    Question: Wouldn't more control over wire layout mean using more Pure nodes and less Impure...
    Surely the answer is yes in cases where Impure nodes get used to help simplify complex wiring...
    So isn't this issue also about excess space / the room BP takes up / screen-real-estate overall...

    #1. Kismet vs Blueprints:
    Straight line wires on any axis let you create more logical layouts, like with electronic circuits.
    When used with collapsed Switch nodes for example, it meant neater layouts using less space.
    Whereas curved BP wires means more screen space to avoid so many wires crossing & overlap.

    #2. Kismet vs Blueprints:
    Kismet let users drag PINS and re-order them on nodes, which also meant less crossed wires.
    This had been requested before and was promised. So what happened, its an easy mod, no?

    #3. Kismet vs Blueprints - UDK Shortcuts:
    Minimize Sequence nodes. They take up too much space and add nothing to overall workflow.
    Why not simplify them like it was in Kismet, so just connecting wires dragged off other nodes?
    Delay option on every node (Exec pin) & Log/PrintString with multiple inputs, badly missed too!
    Kismet also let users hide Node PINS not being used on a per-Node-basis not a global setting!

    #4. Kismet vs Blueprints:
    Kismet offered right-click deactivation of node branches. Afterwards 'Exec' wires turned red.
    This had been requested before and was promised. So what happened, its an easy mod, no?

    #5. Blueprint User Customization:
    Anyone looking for user control of wire-color and layout styles along with node-style Vote here.
    It would be helpful for example to have invoked Custom-Nodes look different from built-in Nodes.

    @Alexander Paschall @Sean Flint
    ...yeah this all sounds great actually

    Leave a comment:


  • replied
    Originally posted by Yata View Post
    It is marked Won't Fix.
    True but it also says:
    Developer Notes: this issue no longer occurs in 4.16 Main CL 3275234

    Leave a comment:


  • replied
    Originally posted by Spoondog View Post
    EDIT: Actually, looks like they may have fixed the Select node for 4.16?? https://issues.unrealengine.com/issue/UE-20044
    It is marked Won't Fix.
    I researched source code and this goes deeply to a blueprint bytecode, so I am not sure if they will be able to fix this.
    And And operator bug is made because And is made as a function, so there will be no short circuiting too.
    Bleuprint VM is broken in many ways, so it will need a complete rewrite to make us happy.

    Leave a comment:

Working...
X