Seems clear, you asked how I’d do it. That’s how.
All of them are a single actor made of static meshes
As mentioned above, consider the extended SMCs so you can script logic directly into the blocks. Makes life so much easier.
When one of the blocks only has two meshes visible, I hide the other two.
I would not go this way. It’s a waste of resources, maintenance nightmare and unnecessarily obfuscates things, imho. Make a base class with shared functionality, methods and variables, and a bunch of children with extra blocks.
I have followed this tutorial series to implement the Tetris game:
So you did not really come here to ask for a solution. You’re asking for the solution that would work with that one tutorial? In this case I’m going to tap out. Can’t justify a time investment of understanding how a tutorial works. The tut may not even be feasible for what you need, who knows.
However, since you do know how the tut works, consider my suggestion and see if you can incorporate it.