Using Level Instances or Packed Level Instances as Blueprints configurations or "unity prefab variants" like

Hi!

I have been looking for a way to have several different configurations of the same Blueprint (or set of objects that work toguether) in the content project, avoiding to have them loaded in the level from start. What in Unity would be done with Prefab variants, each with its unique configuration. With the intention to then load these objects, with their unique configuration, on an in-game event callback or response. This approach includes having an asset that can be drag and droped to the level, configured in the level, saved and then removed from the level, which will be the one later spawned at runtime.

To accomplish this I have found Level Instances and Packed Level Instances that exactly let me implement this kind of behavior. At the moment I have an AI Enemy Blueprint which depends on N patrol points all packed in a Level Instance, I can drag and drop to the level to adjust the positions in the level itself and once I have the configuration I want I can save the changes and delete the instance from the level to later load this Level Instance from another blueprint.

BUT as I have been reading and watching in some tutorials this feature, the Level Instance and Packed Level instances, seem to have been thought as a fairlly simpler thing. Something to pack some static meshes without too much logic to improve rendering performance and memory usage when creating levels. Is this approach I am discribing against some recomendation or can cause me any performance issues in the future? I am using this in a prototype project that I am not going to seriously release so I can assume doing some dirty things if it’s more efficient to me when level designing (the outer goal of the project), but I want to know if it’s too crazy or dangerous what I am doing. Or a better way to do this.

In this image you can see my two enemy configurations (Unity prefab variants) I will later delete and load from Blueprint using the “Load Level Instance (by Object Reference)” Blueprint action.

Clarification: I don’t want a data structure that hold the configuration to then spawn actors or objects using this. Because that does not let me visualize in the level what I am configuring. And I don’t always want to have instances of some objects or actors in the level as they should appear and be loaded depending on game events. That’s why I like this solution and the prefab approach from Unity.