Ive noticed that when I add a static mesh component to an actor at runtime, the overlap collision is not offset like the visual model is. For example, I add a cube 100 units above the starting cube. Then to test that cube, I try to shoot it (actors that detect overlap to trigger damage) and try to run into it with a vehicle to test query and physical collisions. The physical response is fine and the cube detects physical impact exactly where it should. My problem is that its overlap query collision doesnt seem to share the same space. Where the cube is visually fails to detect any overlaps. Eventually I figured out that the query does detect overlaps, but it isnt where the cube is. The overlap collider appears to always spawn at a relative 0,0,0 regardless of where the visual static mesh is located. Has anyone found a fix for this?
Additionally - My preference is to use instanced static meshes for this for performance reasons but they seem to have the opposite problems. The instances fail to detect physical collisions but are very reliable at detecting overlaps. Is this by design? To get this to work will I have to use a mixture of both?