I'm pretty new to bitcoin but I have a question I'm unsure of. Can you spend bitcoin as soon as it is sent to you or do you have to wait for it to fully confirm? I've read different answers that you can and cant. Thanks.
I think that varies from "client to client" (the protocol won't stop it - but you'll end up with "stuck txs" due to the dependencies).
From memory the most recent versions of "bitcoin-core" won't use unconfirmed "inputs" (but don't quote me on that - as I am not 100% certain).
You are right.
With bitcoin core, you can choose to spend your own unconfirmed changes, but by default you can't use the unconfirmed outputs from someone else unless you create the raw transaction directly.