the first bonus task
I don't think the first 2 tasks will cause anyone difficulties, but the next two seemed quite interesting to me. I'll show you my original implementation. When choosing a camera, I worked through GameObject and checked if they were active, if the first one was active, I turned it off and turned on the second one. This code worked pretty well, but I liked the solution from the example a lot more and I redid it. I couldn't come to this myself, and I think it's good that I've seen it now, it's pretty concise and logical. When moving the character, I initially just redid both controllers for different directions, for the first player I did it by pressing the arrows, and for the second through WASD. It worked well, but I couldn't press two buttons at the same time to move, so I didn't really like it, but it worked and I decided to leave it. After that, I looked at the solution in the example and it is of course much better. I don't think I'll ever need it, but this exercise showed how many useful features Unity has. Turning through the quarterions is, I think, quite useful. it's cool that Unity has a lot of opportunities to implement various tasks. I like it, I think I'll keep coding, thanks Unity Learn.