We’re trying to figure out how to manage the exposure and categorization of Blueprints so that level designs can easily find them, and so level designers don’t place things in their level that aren’t intended to be put into a shipping level. This is something we’ve done in past projects, but we’re having trouble figuring out how to do it in UE4. Here are the problems we’re trying to solve in detail:
Level designers need to be able to quickly and intuitively find gameplay entities that are available to them.
There is no way that we’ve discovered to create new Place Mode categories in a Blueprint Class. We’d like to be able to create new categories. For example, I’d like to have a “Weapons” category where all weapons and ammunition pickups show up. Level designers shouldn’t need to sift through the Content Browser to find them - they should be easy to find and in intuitive places. I believe you can do this in C++ classes, but it seems like an oversight if Blueprints can’t also create new categories. Expecting people to comb through the Content Browser is unintuitive, plus it’s not even clear to a designer what Blueprints are even intended to be placed in a level. I thought the “Blueprint Category” property in a Blueprint’s Class Settings would do this, but it doesn’t appear to do anything, and I can’t find any documentation on it.
We want to ensure that Level Designers do not place blueprints that are templates or for testing purposes.
We only want the tuned instances, the Child, Data or “Curated” Blueprints to be placed in the levels. For example, let’s say we have an “Ammo” Class Blueprint that is a template for all types of ammo in the game. Then we create Child Blueprints that are PistolAmmo, RifleAmmo, and RocketAmmo. I only want the child Blueprints to be placed in the level, because I tune them exactly how I want them with proper quantities of ammo, visual effects, etc. I do not want a level designer to place the template in their level and then create a unique instance of an ammo pickup - that will create tuning headaches and bugs down the road.
We also generate a lot of Blueprints for testing and experimentation that we don’t want designers putting into production levels. We would like some way to make it clear that these shouldn’t be placed in shipping levels, and catch them if and when they are.
I suppose I could have a Construction Script try to do something specific when placed, but that seems pretty hacky. I think a better way to handle this would be a “promoted” flag on Blueprints that makes them show up in the Place Mode UI. And, that same flag is what prevents the cooker from throwing warnings when building the game.
Or is there another way that Epic intends people to manage these problems?