How would i
How about not creating the decals in the first place? In the gun you probably know where the last bullet hit. You can maintain a list of last N hit positions. Before spawning a decal you can go through the list and if the current hit has at least M existing hits “nearby” (each closer than D units) then you don’t spawn it. With some quick dust particle system indicating the impact each hole-clump should look fine.
Of course this is just the base idea, you’ll probably need to store hit normals too to avoid false positives near corners, you can also have finer control over the spawning by calculating a spawn chance based on neighbour distances. And obviously this method would be less helpful if multiple guns fire at the same point but I don’t know if that’s an actual use case.
I have never thouth of that! great idea! As for the different guns, maybe i can store this array variable somewhereelse , maybe in the player him self so when i need this information i just cast to him so i can access it. Really great idea, thank you!