Download

"Prefabs" functionality in the roadmap.

Hi Guys,

This question is for Epic or anyone in the know :slight_smile: In the roadmap at the moment, I see that Prefabs has been added as a feature, for around September. The card is here. Will this prefab functionality allow us to snap shot constructed instances within a map and create a prefab asset? I posted a question on AnswerHub for something like this when using Apply on a BP Instance(which only does properties of a BP).

Basically, the idea is that, if I create a set of objects and they have components, and those components have data(like say the SplineComponent), I want to be able to snapshot that instance and create a prefab of it. That way, I can then drag it out, at any point, and have it instance with that data in the map. But importantly, I want to be able to make a changes to a placed prefab in the scene and then click apply, then have that change applied back to the original prefab and reflected in other placed instances, even instances in other maps. Thanks! Hopefully somebody from Epic can answer!

Tommy.

You can already select actors in a level and create a BP with them if thats what you are asking. Select actors > Details Panel > Blueprint > Replace with Composite Blueprint.

Nope, this isn’t the solution. I know that functionality, and it only facilitates the first part of prefabing. It isn’t a logical grouping of actors and their components into a new type of asset, but rather the creation of a new BP asset, that contains a binary copy of all the selected actors and their components, which is then saved as a new BP asset.

If you then drag this new BP into the map, you have the original issue, where the BP, once it’s component data is changed(like for example spline data) in the map(in the instance), cannot be reapplied back to the originating asset, and mirrored in unmodified placed instances of that asset, which is what prefabs do. If the intention of the prefab functionality listed in the roadmap, is to address this, then my requirements are covered :slight_smile: Just really want confirmation from Epic, or someone that requested the functionality :slight_smile:

Just to clarify the workflow I’m expecting/hoping for. SecretDoor use case(not great but just an example):

  1. Create a BP_Door, it uses the SplineComponent, spline is used to define path that characters take when opening a door etc

  2. Create a BP_WallSection(with secret button)

  3. Drag BP_WallSection into map

  4. Drag BP_Door into map

  5. Position BP_Door inside BP_WallSection, to make it look pretty

  6. Do hookup and make these two interact via BP_WallSection->BP_Door logic hookup or whatever

  7. Make BP_Door a child of BP_WallSection (because the two are always meant to be together)

  8. I Decide that I like this setup and want to use it everywhere, including other maps

  9. Make prefab asset by selecting the BP_WallSection parent and choosing “Make Prefab Asset” from somewhere

  10. Save as PF_SecretDoor, appears as thumbnail just like BP or StaticMesh in asset browser

  11. Now I drag the new PF_SecretDoor prefab out into every map that I need it in and position each prefab instance accordingly.

  12. Later on, decide that spline setup, for BP_Door child, in my prefab, is not quite right

  13. Jump into a map, containing a placed PF_SecretDoor prefab instance, and modify the spline path directly on the instance and test it… looks good

  14. Click “Apply to Prefab”

  15. Change is serialized back to PF_SecretDoor asset and reflected in ALL placed instances.

  16. When I open map2, map3 etc, changes are reflected there also

  17. Caveat 1: Position, Rotation(and perhaps scale) are not reflected and remain unchanged

  18. Caveat 2: Modified properties of a PF_SecretDoor placed prefab instances, like instances with modified SplineComponent data are NOT changed by hitting “Apply to Prefab”, these properties must be reverted first

Needed buttons on details for a prefab are:

  • Apply to Prefab: Send changes in map back to asset
  • Break: Make the place prefab asset just BPs, basically delete the prefab and replace with the BP instances themselves
  • Revert to Prefab: Revert all properties back to the prefab data

(Of course having the ability to individually revert properties or component data back to prefab values)

Hope that clears up my understanding of something like this. Hope it’s like this(fingers crossed) :slight_smile:

Tommy.

Hey Jacky! Any chance you could move this thread to the feedback forum. I think that might be somewhat more appropriate :). Thanks

I’d like to know more about this as well, perhaps Epic could shed some light?

Luv you Jacky! Thanks for moving this for me!!! :slight_smile:

It wasn’t me but you’re welcome anyway! :slight_smile:

Also wondering about another thing. Would prefabs basically be “snapshots” of object data? There might be versioning issues with this kind of stuff. The reason that prefabs are so awesome, especially for something like MarketPlace, if that it allows the content maker to set up all the functional bits on actors and allows for multi-actor drop-in game functionality.