if you already have a blueprint-based player controller you just need to reparent it to the cpp player controller, ofc after compiling
then you can use the start spectating functions similar to how I do it in the example.
Would be cool if you could change the question to something like:
How to start spectating on clients
to make it easier for other people to find the answer