Let’s say I have a number of things that are similar, and share similar behavior.
This could be a number of different handguns.
Or a number of different butterflies.
Or a number of different spells.
95% of the functionality is the same. However, each handgun/butterfly/spell may use a different mesh, particle system, sound, or some other config variables (like “Ammo Capacity” or “Time in Air Before Landing” or “Mana Cost” or whatever)
Now, I’d like to build a single blueprint which is the default butterfly/handgun/spell. Then I’d like to be able to create a number of variants/prefabs of this blueprint, where the only difference is the default variable names.
Thus, I could have an “Orange Butterflies” blueprint, and a “Blue Butterflies” blueprint, and where I want an orange butterfly in the world, I drop that in; where I want a blue butterfly in the world, I drop that in.
Unfortunately, it seems I can’t actually do this. There are two ways I’d like to be able to go about this, neither of which currently works:
I could create a subclass of the “base butterfly” and change the default values of each of the properties. Unfortunately, Blueprints don’t allow me to change the default values of superclass variables in a subclass – fixing this would be swell!
I could create a “blueprint prefab” – this is something that references blueprint, and contains the configuration information for that blueprint. Inserting this into a level would reference both the base blueprint, and the prefab values. In the simplest case, it just sets the configurable values once, on insertion. This would be okay, but even better would be to insert a link to the settings object such that in-world instances update if I change the prefab values.
It seems to me that both of those would be pretty easy to implement with the current object model and current UI system that already exists in the editor, so perhaps this could make it for 4.10? It would significantly improve the workflow, make things possible that currently aren’t possible, and as a bonus, it would demo really nicely in a tutorial video or conference presentation