Using Blueprints only as Prefabs?

Hi,

I come from Unity where the workflow that pretty much everyone is using is to create prefabs and expose multiple values in the editor (by setting them as public member variables) so it’s easy to change them without touching the code. I really like that workflow since it enables programmers to do most of the work in the code, while designers and artists can change values and quickly prototype.

What would be a similar way to do this in Unreal? Am I correct to assume that Blueprints can play the role of Prefabs in that case (i.e. using Blueprints only for their capability to edit their values inside the editor, and not the visual scripting)? Is there a major performance hit compared to just instantiating the C++ classes directly and having the values hardcoded in the files?

Basically, I guess I’m just looking for the best way to implement all the features in C++ without using visual scripting, while still being able to quickly edit the values/properties of the actors inside the editor.

Yes, you can create blueprints in C++ and expose variables. So I guess they are kinda like prefabs.

There are tutorials on the wiki;one, two. But yes, blueprints are slower than native C++ code. The question is, if “slower” has any impact at all (eg how much code there really is).

Blueprints are only slower when comparing a Blueprint created function to the C++ equivalent. Using BPs to hold data values to have easy editing is the same perf.

Now back to the original question, any UObject with a UPROPERTY that has edit meta data can be easily tweaked in the editor UI.

UPROPERTY(EditAnywhere)
bool bSomeToggleValue;

The code above will natively expose a property for editing in the Unreal Editor