Quick Object Scatter is a Blender add-on for distributing object instances through a scene. You add the objects you want to scatter to the add-on, then place them anywhere you click using a simple interface. A draw function scatters objects along a curve path, and a draw line feature instances objects along lines you draw.
Rotation and scale can be randomized as you place objects, including X, Y and Z rotation. Instances can be organized by adding them directly into a collection of your choosing. Because the scattered objects are duplicated as instances, they don't add to the overall polycount.
The workflow is straightforward: select the objects you want, add them to the add-on, click the scatter button, then hold Shift + RMB to drop a scattered object at the cursor position. It runs on Blender 2.93, 3.0 and 3.1 under a GPL license, with documentation available.