I have YUY2 video data that I want to be sent over USB to a computer. I want the computer to recognize the device as a video device so it can be displayed with software like a webcam viewer. I have tried searching multiple times on different sites, but I can't find out how to send a packet or when to send what packets. Most things I have found about USB don't tell me how to do these things on a smaller level. I am going to be using a microcontroller and a USB-C port.
You will have to implement the USB profile for video cameras, UVC. It's specified pretty intensely by the USB Special Interest Group UVC documentation archive.
You'll want to start by reading the FAQ document in there, which explains which document specifies what.
As noted in Marcu's answer, you need UVC. This blog has a series of posts that works through the process of interfacing a camera and then implementing UVC on several different devices, including a microcontroller and a dedicated ASIC:
The source code and linked technical notes provide a complete, working implementation, so should be a very useful starting point. In the past I have found the examples to be extremely useful.