Where would I store a reference to Volumes created at build time?

I’m making a system to analyze a map (with a forest) to see where I can allow birds to fly.

It’s going to be a simple system with tree-free volumes in the sky which indicate where birds can go. So I’m going to make a build step that creates these volumes.

My question is, where do I store them? In Unity, I might make a GameObject and attach a component with a script containing an array which the volumes would be listed in.

Where would I put something like this in Unreal? Maybe in the Level Blueprint?

Just store them in an array somewhere, I’d go with the game instance blueprint, but there are plenty of places to store it.

Ok, thanks. :slight_smile:

Do not store stuff in level BP, you load another level and you lose not only variable values but also all code inside.

Instead you have 2 options:
store all in player controller/pawn, but this will clutter controller bpa
or make blueprint that stores it all, drop it into level, and use “get all blueprints of class” to find it reference and store stuff.
it all depends on if you want use different controllers or not.

I am using second method, for every system i create one blueprint that stores it all. Then i drop that into level.

Then creating new level is matter of dropping those blueprints with different default values.

PS. hint for epic: we would love GLOBAL and PERSISTENT blueprint class that could store all we need.

My plan is to have the values built in a build step when creating the game. Does that affect where I can put it?

Isn’t Game Instance class that global and persistent solution? (Well except when exiting the game of course you have to save it to a file)

Yes, the game instance is persistent through levels and global.