blueprint

Blutility function to select actors inside volume

  • Exposure: public
  • UE Version: 4.20

Spoondog

August 10, 2018, 8:56 pm

Click the button above, it will automatically copy blueprint in your clipboard. Then in Unreal Engine blueprint editor, paste it with ctrl + v

4 comments

  • Spoondog

    Friday 10, 2018

    • This is intended to be a function inside an ActorActionUtility (created by going "Add New > Blueprints > Blutility" else it won't work properly). Disable "Call in editor" on this function, then hook this function up to a "Call in editor" Custom event (If you run it via function, there's a bug where you get a popup filled with variables).
    • Two local variables to create - TheActors (Actor, Set), FoundActors (Actor, Array).
    • This also currently (4.20) suffers from two other blutility bugs where the selection doesn't update properly. It selects the right thing but the property/details window won't show your selected objects until you CTRL+Click twice on another random object to select and deselect it. Also, it will look like the volume itself is selected but it isn't - it will look that way until you select the volume manually and deselect it again.
  • Spoondog

    Friday 10, 2018

    Also, it's possible to add more options to this, but I wanted to keep it popup-free, For example:

    • If you wanted to include/exclude actors only partially in the volume, you could get the corner positions of the actors' bounds and do the sphere test from those corner positions instead of just from the actor position.
    • Or you could add an actor type filter
    • Etc...
  • Bremmie

    Monday 3, 2018

    Hey spoondog, can't find the function get all level actors, is this a separate function that you added?

    Cheers,

    Bremmie

  • Spoondog

    Thursday 13, 2018

    Hi Bremmie, sorry I don't get notified of comments here.

    The "get all level actors" node comes with UE4, it's fairly recent. It probably only appears if you're in a blutility (where this is intended to be used anyway). See my first comment for details ^