Use Gamepad to aid in Static Mesh Placement

I have a concept to place many static meshes using the analog rotation of the gamepad to determine yaw, with Z-up always. Someone can build an entire community of houses by moving their mouse over the landscape, rotating to preview the house placement, then click to place. Entire communities can be built in minutes, and it can certainly aid in the process of set-dressing.

Does anyone know how a Blueprint editor utility might be used to accomplish this task? I’ve never used Editor Blueprint utilities before, only in-game stuff. The challenges I’m having broken down:

  • Converting XY input from a controller to 360 angle of rotation (rot from XZ, with X being the 2-vector appended to 0, and Z being 0,0,1?)
  • Grabbing location of mouse and camera to use for trace, adjustments to angle, etc. (this is something the engine does automatically, IDK if the mouse intersection with geometry is an automatic function that already exists and is easily accessible)
  • Previewing model (would be nice to preview rotation and show some colors when the model is intersecting geo to avoid intersection. Or shift the model to a location that doesn’t intersect)
  • Placing model as a static mesh in-editor (Spawn from Blueprint Utility? I don’t want to add an actor component as the editor meshes should all be independent models. Not sure how else a Blueprint can place an actor, but this is usually done at runtime, not in-editor.)