personally I'd start with 1024 pixels per metre and use additional layers of higher frequency tiling information. If you're in unreal you can check which mips are loaded and/or which mip the gpu wants to load using one of the viewmodes and use that to determine whether you need to increase or decrease density based on your…
Not weapons but for close up things like 1m close to camera I use 3,5 - 4 mm per pixel. Smaller texel size makes materials repeat too soon and instantly reveals certain naive nature of material details. Repeating masks , procedural dirt accumulation, tiny bit scratches instantly looking like some procedural Substance…