I'm trying to control an 8x8 LED matrix with my Arduino UNO using a SN74HC595N, but all the tutorials I can find are all turning one one LED on after the other, how do I turn on one pin individually?
You keep a variable that contains the bits of each pin. A byte variable will do.
Then you change the bit or bits of the pins you want to change and send the whole variable out to the shift register. You can use the bit set or bit clear call on the byte variable to do this.
Need I say it, but 74HC595s are not really suitable for driving LED matrices.
MAX7219 matrix modules are readily available, or you can ignore the matrix provided and use them with one of your own construction. On eBay (and Aliexpress) it is just as cheap to but the module as the chip itself, and you have it already mounted on a practical PCB.
Just buy two or three of these kits:
Or these ones
which used to be more expensive but are now actually cheaper and more useful if you wish to stack matrix arrays.
The point is that you do not install the matrix arrays from the kits themselves - or their socket pins, but just solder to the positions on the PCB and you have a durable and reliable assembly to drive your own matrix arrays.
Why did I say two or three? Well, you can fully assemble the first one as the matrix with which it comes and practice programming it. Then the second one for your current project and the third one - for the next!
Considering the cost, it makes no sense to just buy one!
To control the pins of a 74HC595, I use this library (example). There's also a version that uses shiftOut, but if you can use SPI interface, do so, as it's much faster.
That being said, I totally agree with Paul__B, you will save yourself a lot of trouble by using a MAX7219.
Pieter