After coding troubles with puzzle 1, I was a bit reluctant to start developing puzzle 2. So I wanted to reuse as much of the code I already had as possible. Version 1 of the puzzle looked like that:

Basically is was a “find the correct path” type of puzzle. The Strange Brigade puzzle is a reference here, where player had to move only to blocks with a correct symbol. The right combination was hanted somewhere nearby:

So I wanted to place the key in the centre and player had to activate the correct tiles which could form a particular pattern. Reference image can be placed somewhere across the map as a hint, or just be present on one of the walls in the same room. I also thought about the possibility of upper floor, so that player could see the whole picture from above wether they’re getting the correct image or not. Same as in puzzle 1, tiles would change colour on collision.
But some dayf after I decided that this plan was too complicated and I didn’t feel like it was thought through. So I came up with another plan:

Eventually I refused the idea to place the key in the centre. I considered it as not worth developing and making things simplier. So now player has access only from one side and the correct path is the only way to get to the key. I already clearly saw what functions each tile must do, so started coding.
There was a minor issue whith colour change, when the same proved to work colour changing code from puzzle 1 suddenly stopped working. It worked in the inspector, but didn’t work in the game. I’ve spent evening and morning to try to understand, what was wrong, till I foind out it was a pure inattentiveness mistake as there was a copy of the same tile underneath that didn’t change colour. (Another proof that good rest is needed despite the amount of work you need to do).
But another problem waited overhead, which was complicated for me to solve. The problem was that when I tested mechanics on just one right and one wrong tile – it all worked fine. Once I multiplied it to build the puzzle – it all broke. In particular, wrong tiles stopped blocking the right ones and changing their colour back to black. I’ve spent a couple of hours looking for the problem, thus all the coding was right and worked when I’ve left only 2 tiles as in the beginning.
The problem turned out ot be in one command here

That’s how I usually refered to variables from another script. Which, as I found out, happens to refer only to the first ever object with this script, which the system finds in the hierarchy. Which means that I had to create a copy of that script individually for each of the 14 wrong tiles. It was time consuming, but still I was happy, that I found the reason. The puzzle was complete in 7.5 hours in total in one go. I also added a hint just near the door to this puzzle.
Completing the puzzle means that most of the work for the project is completed and the game is ready for the final playtest. I’m pretty confident in what I have now, and, hopefully, I won’t need too much alterations.