Thanks. I did so many tests to make sure having a constant value for the Y component wouldn't be enough, but I guess it was still barely possible. If you are curious, at the end of level 3, there is a piece of paper on a chair. On it there is the solution to the last puzzle.
The cable component doesn't do wrapping as far as I know. I used static mesh instances. Small cylinders that don't have a top or bottom face, with spheres at the ends of the cylinders (each point where the cable was bending). Then some custom wrapping logic in c++, using a trace from the player to the last cable point for checking if there is a wall to wrap around, and a very geometrical solution for unwrapping, which is difficult to explain in words.
The only wrapping/unwrapping stuff I found online was for 2D, but I wanted it to work with any edge cases in 3D that the 2D method may not account for, so I didn't even look into that, and just decided to come up with my own solution. And I think it works fine.
























