This is a great question, as it speaks to a key design choice in robotics. For EKF, once we have odometry, another direct input is where features (landmarks) are.
For a hobbyist project, I'd say Lidar is easier to begin with. For EKF, one simple (and beginner-friendly) way is to assume everything has the same shape (cones), then use "circular regression" to recognize cones from the 2D lidar detections. The locations of the cones are ported to EKF as observations.
For more complex environment, consider particle filters. I started off with an $100 2D Lidar off of amazon, and I used ROS's navigation package (gmapping, particle filters,etc.) to get a small mobile platform running.
Depth Cameras (E.g, Intel Realsense, Microsoft Kinect) are more expensive, and 3D reconstruction can be tricky with regular cameras. I'd say for the proof of concept, Lidar is more beginner friendly and cheaper.