You can do many things with Blueprints. Everything from making a small game or procedural content tools, to prototyping new functionality, to tweaking and polishing things made by programmers,
is possible with the Blueprints visual scripting system.
However, there are certain things that will impact your performance more if they are done in Blueprints.
If you have a Blueprint that's doing a lot of operations and complex math every tick, you might want to consider using
native C++ code. Blueprints are best suited to making event-driven functionality, such as handling damage taking, controls, and other things that don't get called every frame.
If you would like to read more about coding for Blueprints, or the technical details of Blueprint compiling, see the Blueprints Technical Guide.
Even if your functionality is well-suited for Blueprints, there are decisions you can make in setting up your Blueprints that will make things go more smoothly. This guide will go
over some of the more common decisions you will have to make, as well as tips and tricks for Blueprint users.