you could use two groups of line traces the first group which shoots out from the gun and spreads, then the next group uses the end points of the first group as it’s start position. Then the end position is just the shotgun’s forward vector * range(float) + start position.
Alternatively you could just shoot a single sphere trace, but you wouldn’t be able to do partial hits very easily.
Not sure about pros and cons, I would probably just go with line trace by channel visibility until I run into a situation where that won’t work.