All the kexts shown here (except SmallTreeIntel82576) are available for download on the kext repo provided and maintained by Goldfish64. Do NOT download and use all of the kexts listed below. Doing this may result a kernel panic.
VirtualSMC.kext (use this) or FakeSMC.kext (older, if VirtualSMC doesn't work, use this instead) is as aforementioned essential. This kext is what tells macOS "Yes this is a real Mac", emulating the functionality of the SMC on real Mac's. Without it, no Hackintosh. Do NOT use both of the SMC kexts.
You'll need these also.
Lilu.kext - this kext acts as a loader for other kexts. More specifically it can patch kexts, processes and libraries.
Whatevergreen.kext - this kext fixes a lot of GPU related issues.
NullCPUPowerManagement.kext - This kext disables CPU power management, as that is not supported on AMD chips.
AppleMCEReporterDisabler.kext - this kext disables AppleIntelMCEReporter which may cause panic on startup (ONLY NEEDED ON CATALINA)
IntelMausiEthernet.kext - this works with most newer Intel LAN chipsets except I122-AT.
AppleIntelE1000e.kext - this works with older Intel LAN chipsets - but can cause kernel panics on newer chipsets
AtherosE2200Ethernet.kext - this works for most Atheros or Killer networking chipsets
RealtekRTL8111.kext - this works with most gigabit Realtek LAN chipsets
RealtekRTL8100.kext - for 10/100 Realtek LAN chipsets
SmallTreeIntel82576.kext - for Intel I122-AT LAN chipset only.
HoRNDIS.kext - For USB tethering from Android only.
(I myself don't use bluetooth nor WiFi so I don't have knowledge in that, but here is some information on the subject by CorpNewt.)
Apple is pretty minimal with their WiFi support, so I'll only cover the two main chipsets I'm familiar with. I've used a BCM94360CD + PCIe adapter, and BCM94352HMB/BCM94352Z in my Hackintoshes. The BCM94360CD worked OOB with no extras as it's a native card. For the BCM94352 flavors, I've been using AirportBrcmFixup.kext and the companion Lilu.kext for WiFi setup and BrcmBluetoothInjector.kext (on 10.13.6+) orBrcmPatchRAM2.kext alongside BrcmFirmwareData.kext - all of the Brcm* kexts are from RehabMan's OS-X-BrcmPatchRAM repo.
AppleALC.kext - this kext supports most of the commonly used codecs, with the best quality. Ryzen CPUs are supported. No FX support! Also, 3.5mm microphones are broken on Ryzen.
VoodooHDA.kext - a jack of all trades master of none solution to audio. Required on FX. Mic support on Ryzen.