Random Levels for top down rpg

I want each time I open the game to have different level like the game Diablo 2. What I plan is to make large amount of floor blocks variations. On each I will place trees and rocks and walls on different locations. What I can do is combine them all together in a single blueprint.
2 problems:
1 - I dont know how to create new blueprint during game (make new blueprint in the level)
2 - I can put them all in the game and move them when called, but then I will need to copy them if a block will be replicated and I dont know how to create a copy of a blueprint

My plan is to make milions of copies of blueprints (designed floor blocks) and just move one when it’s called by random. This will 100% work.

The reason for this topic is to ask if someone know a better way for making random floor, 1 - create new blueprints, 2 - make a copy of existing blueprints, or 3 - something else?

EIDT: So far I am creating this with tilemap so creating random tilemaps tutorial may be a good choise, but I cant find any for randomizing