Using WorldPartitionRuntimeCellTransformer to pass level instance instance data to actors in level instance

Hello!

We build our world using World Partition and we have built re-usable level instances that we place with “Level Behavior” set to “Embedded”, BUT we would like to inject instance specific data into them.

For example, let’s say that we have a generic “Shop level instance” and we want to set a tag on the door for when it unlocks and a level on the shopkeeper for what level of goods they are selling.

We could Break the level instance and set the values, but then we lose the benefits of having level instances. We could place everything except the door and the shopkeeper in the level instance so that we don’t have to Break it, but that doesn’t scale well to settings that affect many things in the level instance and it’s easy to do wrong and it’s more fiddly to work with (if you have to move/delete it, you also have to fix the door and the shopkeeper, if we add a backdoor, we need to find all placed level instances to fix etc.).

Does it sound like a feasible solution to use AssetUserData on the level instance in combination with WorldPartitionRuntimeCellTransformer to get the data passed down from the level instance to the actors at cook-time? The WorldPartitionRuntimeCellTransformer would look for all level instances in the cell and then look for specific AssetUserDatas applied to it and if they are found, iterate all the actors of the level instance and apply the correct logic/data.

Could this work? Is there a better way of achieving this?

Thank you for your time!

Steps to Reproduce

Hi Joel,

Have you considered using Property Overrides? https://dev.epicgames.com/community/learning/knowledge\-base/r6wl/unreal\-engine\-world\-building\-guide\#lis\&plas\-importantchangesin55

Regards,

Martin

We had not seen that feature, will explore that first. It looks promising. Thank you!