What is the best prefab workflow in UE4?

When i post in the forums no one reply me, that is why i post here this Old school prefabs question - Asset Creation - Unreal Engine Forums :

Hi, i like create a house prefab with blueprints, static meshes, dynamic meshes and GSC/BSP brushes, what is the best way. (I need a group but usable in other levels, I can’t use the blueprints because this have BSP & Collisions and have some blueprints).

My idea is create the house or move that to a other map/level and use the houses in individual levels/maps(one house per map) and then load from the main map in the “Levels” as persistent levels with a high number of prefabs like in the old game engines (IdTech, Source Engine…).
Is this a bad idea for the optimization or going to have problems with that or have a other method to create that ?

Thanks.

Hi Hevedy,

I’m not sure I fully understand why Blueprints would not work in this situation. If BSP is the only factor holding you back then convert that to a static mesh and add collision to the mesh that is created.

I have not used the other game engines you’ve described so I can’t attest to their uses, but from what I gathered from your description you can do this with Blueprints.

I’m also not sure I fully understand your description for the levels either. If I understand you correctly you want to have a a map for each house (essentially a blueprint with the house) that can all be in the loaded or unloaded from the persistent level. If that’s the case, that’s not hard to do and is fairly easy to set up.

Thank you!

Tim

The main problems to use the blueprints is:

  • The prefab have internal Blueprints.
  • The BSP brushes & the collisions brushes.
    The objective:
  • Is create a prefab with the house (and i need create more than one, because i have multiple houses to use) like a Blueprint but with BSP & Collisions support
    and is only to place in the maps (static & dynamic).
    A similar example is in the Shooter Demo or in the UDK or UE3 look in the maps the layers/channels/levels (the light map, the main struct map, the collision map) then the idea is create the houses as maps and then use the maps of the houses like a Blueprint in different levels to place the houses.
    *And i can’t convert the engine collision brushes to a Blueprint and i don’t need the Blueprint Utilities, only place the houses at create the levels in the editor more or less like the Shooter Example.

This hit the performance or will give me a problem ?

Hi Hevedy,

I still feel I am not fully understanding what you’re trying to do. But Blueprints do have a lot of power to adjust parameters and be “prefabs.”

With BSP while you cannot use that with a Blueprint you just need to convert to a static mesh and you can create collision primitives for it in the mesh editor and then add that to a blueprint for easy use.

Using the event graph you can setup all the parameters you need for any scripting for the house as well.

I’m not sure what you mean by a “collision map” though unless this is just your geometry that will be the terrain/ground plane. The collision is attached to the meshes when you setup the mesh.

You cannot access the maps via blueprint though. You can setup the levels/maps and place you blueprint with the house in that though.

Okey mmm
Prefabs are more or less like the Blueprints now but in the editor haven’t “Prefabs” as Blueprints in the content creation, then the best way to create prefabs are create maps/levels and use as prefabs.
Prefabs definition: Is a group of entities created in the editor (BSP, Volumes, Blueprints, Collisions…) what you can use in the maps (drag&drop like Blueprints)(Like right click and create group but saved to use in other maps).
Then the questions are 2:
A- What is the best way to create prefabs ?
B- If i save the groups (the example is a house) as individual maps and then load in the main project map the secondary maps (Houses) into the Levels this kill performance or give problems ?

*Levels reference to the editor → Toolbar->Windows->Levels->Go to the Levels Tab->Add Existing->Select the House map->Then in the list now have the house map-> Select the house map and right click and change the streaming method to always loaded.

This is a Prefab: UDK | UsingPrefabs but in the old engines the prefabs are saved as maps.

I going to add an image if is needed.

Something like this need to be added:

Check the “AssetGroups”.

This question popped up in recommended questions so I might contribute.

My prefab workflow is somewhat like this:

  • As soon as I get modular kit
    imported, I lay it down on a dedicate
    place in the level, outside of game
    area.
  • I build up apparently needed
    combinations and use folders to group
    up the meshes.
  • When working on the level, I just
    copy paste whole folders of actors.
  • After finishing, I check the level,
    and use actor merge to replace
    grouped actors with single meshes,
    where practicable.

I’ve got used to prefabs in Unity but as I see it, there is no need for any kind of prefab system, simply because if it bears no functional load, it should be just single static mesh. Otherwise, it is a blueprint. Special cases where you would prefer having a prefab can be covered just by grouping

You can’t use the groups in different maps.
Prefabs is not about combine meshes, for that you can create a Blueprint, is about combine meshes, FX, logical actors and other Blueprints, something you can’t do here.