A similar system is used in Tropico games. Instead of just changing the opacity, they show the building progress. They have like 3 or 4 different meshes for each state of the construction. Initially all we have is just the basement (this appears the moment we place it), then teamsters will get there and start construction, based on number of pending buildings, the number of teamsters available will vary. We can see them doing stuff like swinging their hammers, using the pix-axe… After a while the building mesh changes to another one, and another one and finally the real mesh comes in.
I was able to achieve something similar as a sample. What I did is in the Building blueprint, I added an Array structs of extra static meshes (apart from the default one). With each mesh I also specify a percentage. In the tick function, I check if the current building completion and change the static mesh component to the appropriate static mesh. I did not do the teamsters, however. I will try to find that BP and post it . I did it a couple of months ago and forgot where I put it.