If by overlapping you mean collision setting then yes you go trough them because its overlapping, you need set collision to collide.
Also instanced static meshes have sometimes problems with collision. Yesterday stairs sometimes had it, and sometimes did not.
Easy solution to this is to spawn invisible static mesh on top of them that will provide collision. It was late yesterday (like 3am) so i went sleep.
Blueprint needs one more section to spawn single static mesh and scale it to width of step or row.
I have ideas how to improve this (and add bending, more randomness) I may do this today, but i will collapse lots of nodes into macros, so if you want to modify blueprint better keep first version around, its easier to get what is going on from not collapsed bp.
Settings may be a bit misleading:
WY and WY is number of bricks, they all are 10x10x20 (i will add variable for size of brick, probably vector)
Step H is vertical offset of next step ie. step height. this is applied before scaling. So if you set scale to 2,2,2 real offset will be two times more then value of Step H
Brick offset is offset of every other row, again calculated before scaling.
I want to add few more things (but only if they do not slow down construction script, which bending did, but i have idea how to make it fast)
cosinus displacment for X and Y axis, ie middle of stairs will be slightly lower than sides to simulate wearing off. It should fit gauss curve but cosinus will work just as nice.
bricks that are more random (better meshes) and random rotating by 90/180/270deg for X and Y axis so each step has different side up/forward
bending, i calculated rotation and location for every brick it was slow, i think i know how to calc delta for rotation and position for each row or column, so this should speed up.
And last thing is that collision, its simple to add but with bending it may be not trivial.