hey thanks! i used a tilemap as the "source of truth" for all the blocks and for all input, i updated the tilemap. for example, if the player presses left, you check the tilemap to see if the player tile can move left or not.
the game was completely playable with placeholders until very close to the end and looked something like this:
what you see in the final product is just a "dumb" UI layer on top of the placeholders and i use tweening to move the tile positions from the current one to the next one.