how could I create a blueprint in-game?

I would like to make a system that allows the user to use a clickable interface with some textbox inputs to create a custom blueprint in-game. I would like it to be created from a default blueprint with a preset of unchangeable variable names and types. the only thing I wish to be customized is the variable values, blueprint name, and possibly a 2d image to represent the blueprint. how could I go about doing this? is c++ required for this type of thing?

If you only want the user to change a few preset variable values, you dont need C++. Blueprints and UMG is enough
All you have to do is define a base blueprint with the necessary variables. You should then make all the variables that are customizable to be public.
Then you can create a UMG interface for accepting the values for the variables during the game. Once they are read, simply create an instance of your base blueprint and populate the public variables with user given values. If you want to save this permanently, you can write the values off to a local file whch you can re-use later.

---- But if you intend to actually create a new Blueprint class from the user data (ie a new BP asset), then you will need to dig into C++.