The thing is, it works perfect in a breadboard. So I don't know what could be causing this error. It's like my Uno doesn't even recognize it.
Weird. Usually it is opposite. Are you sure you plug 328P in correct orientation? UNO has ICSP connector so you could try Arduino as ISP directly in UNO instead of in the breadboard.
The board is providing for MCU this:
- power - VCC,GND, decoupling,
- clock - crystal/resonator, it must be for stantard UNO config otherwise MCU won't start,
- RESET - must be pulled-up and reset signal have to pass from the USB, you should observe triple fast flick on the L LED as the bootloader starts after power up, USB connect or reset,
- serial line on Rx/Tx they have LEDs, you can observe an activity during communication.
This is about HW. Did I forget anything?
SW - setting have to be correct:
- fuses,
- the bootloader for correct MCU type, clock and serial transfer speed,
- same appropriate settings for upload.