Overview
Most camera integrations mean juggling RTSP URLs and hoping the stream survives a reboot. UniFi Protect works the other way around, because the console already knows every camera, every detection and every event.
Home Assistant reads that inventory through Ubiquiti's API, increasingly the public one, so the work is not plumbing streams. It is understanding what the API exposes, what it withholds, and which paths through your network each part depends on.
Two things decide most of it in practice. Which connection mode you pick, and which Protect version you run.
In fact, Home Assistant's UniFi Protect documentation requires Protect 7.2.105 or later and supports only Protect running on a UniFi OS Console. Early Access and Release Candidate builds are unsupported, as are unofficial container ports, because Protect hands out the address it is bound to and a container makes that unreachable.
What follows covers both modes, every device type, the events automations actually use, and the ports the whole thing needs. Finally, Ubiquiti's own Alarm Manager closes the gap the public API leaves.