Download

Converting Maps to BP's (Ensure Level Actors / Components match Blueprint Actors / Components)

Overall, the ability to convert Map / Level prototypes to BP’s, is one of the most useful long-supported features of UE. For example, it lets devs build mini-levels without having to deal with all the gotchas / catches of level-streaming (esp Singleplayer vs Multiplier differences). It has a few drawbacks though. Certain actors / components never properly convert fully. For example, Target-Points and Notes will both convert differently (to sprites). And Trigger boxes to Box Collision etc. Plus actor-tags are lost. Often this also has a knock-on effect of breaking the object hierarchy or parenting in the level (especially problematic if there’s a strict hierarchy and you have lots of actors in the level). Anyway, too late for UE4 now, but an early request for UE5… This feature could even apply to converting BP’s back to Maps / Levels as well… Thanks! :cool:

BTW1:
A larger question is, why are Levels different from BP’s anyway. Why not make Map-Level Actors / Components match BP Actors / Components identically? Including offering Landscapes as BP components too if the requests are there. it would also help when building BP Levels to have the BP viewport match the Level viewport more closely with more flexi options the Level editor offers (hiding actors;)). For example, the ability to select-all-matching-meshes-with-same-material or replace-selected-actors-with) or grouping. There’s far more possibilities too like Splines and Lights. But even just the basics involving Meshes would help. Thanks in advance again!

BTW2:
The existing convert tool also doesn’t offer anything to help converting Level-BP to Actor-BP as regards scripting. With the old actors all now newly created components, code breaks instantly and there’s no automated / semi-automated process or tools to help. See this post below…

BTW3:
Fixes to Copy / Paste (duplicating BP components vs Level actors). Overall, as hinted the BP editor could really benefit from having more of the features of the Level editor, such as right-click on a mesh -> Paste-Here / Pivot-Offset-Here / Duplicate etc. But beyond that there are glitches / bugs that are hard to explain. Maybe this has been addressed in more recent version of UE, but if you copy / paste a series of meshes sized and spaced into a grid for example, the pasted components in the BP editor all lose their proper transforms. Why? It appears Copy / paste is re-parenting the pasted components under one of the other selected meshes. The only workaround is to copy / paste BP components individually!:mad:

2 Likes

I realize the differences between Maps and BPs is quite a huge one very deep in the core of UE architecture, so I wouldn’t expect something like unifying them to happen, unless it’s been long-planned and discussed with all the pros/cons. Maybe in UE5? But of course quite unlikely because of backward compatibility issues.

But at least, definitely +1 from me on the availability of some functionality in the BP editor, that is currently only present in the map editor, like select by matching mesh/material, and stuff like this.

For the conversions that you need, did you consider writing a custom class to create a BP with all the components according to their map layout/tags/etc? That way you can include manually whatever conversions you need (i.e. tags, volumes to collision components, etc).

If you have an empty actor in the scene, then at runtime add/configure components to it based on all the other actors in the scene, (like converting StaticMeshActors to StaticMeshComponents, Volumes to Collision Boxes, etc.), you can use keep simulation changes and then do “Edit Blueprint -> Save instance values as default” (or whatever that menu item was I don’t remember 100%), you can then save this actor in the Content Browser with all the components and values.

Doesn’t a something “prefab” plugin exist on marketplace that can transform selected actors into blueprint “scenes”?!

I don’t quite remember what it’s called, but I’ve seen a plugin for this somewhere.

Thanks Bruno! Both [USER=“28980”]Ali Akbar[/USER] and @Nate offer a Prefab tool, and since both devs are sickly talented, I imagine both of these are killer tools. However Ali’s needs to work from the Content Browser rather than converting Levels / Maps iirc. Nate’s on the other side, can work with Level actors, but again there’s limits: GroupActors / Landscapes etc. So the request is still valid if Epic thinks its worthy…

No, I hadn’t considered it tbh. But now that you mention it, it sounds like a killer tool for some talented Marketplace creator somewhere.;):cool: Especially as I forgot in the original request about underlying BP. That’s the other gotcha of using existing UE4 tools. For example, in the Level-BP, any code referring to static-mesh actors will instantly break as all the references are now static-mesh-components, and that can’t be easily or quickly fixed. For instance, its not easy to swap out / convert all the GetActorLocation nodes for GetWorldLocation nodes (too many broken wires). So a new UE5 feature, such as right-click Replace GetActorLocation with GetWorldLocation would help here (similar to how users can replace variables in-place with a right-click right now). This is something to add to the original request maybe… Cheers