As already discussed, you need a way to gauge your speed/power/cadence. You need a speed sensor for this which can relay its data via ANT+ or BlueTooth (if you have power/cadence, then great! Otherwise Zwift can estimate your power and cadence, well, that's icing).
Next, you need a way to receive the sensor data on the device Zwift is running on.
- If it's a laptop: if you have ANT+ sensors you need an ANT+ stick - and you can run on MacOS/Windows. If your sensors are BT (like Wahoo), you can send BT directly to the Mac. For Windows it's much trickier (you can do this for MacOS too but why would you) - you HAVE to have a smartphone with ZwiftLink installed. The app will connect to your sensors and then relay data to the laptop. I tried it, it works, but I'm going to splurge on an ANT+ stick.
- If it's an iPad: I believe you can use BT directly. Don't see why you wouldn't be able to do the same on Android
Once your data is getting sent to the Zwift app, you're done - just ride.
One caveat is that Zwift needs to support your trainer to estimate power readings. I'm not sure what happens in the case where you have a non-supported trainer but select one of the supported trainers in the app.