May I offer some feedback? I can see what you're trying to do with the delayed camera movement, for that realism, but it's dizzying and will make players confused and nauseous. However you can achieve the "gun moves first, camera follows" visual effect without the camera lag by having the camera directly controlled by the mouse like a normal FPS but the gun is offset by how much the camera has moved * a multiplier, so the gun pushes ahead faster. You can add perlin noise randomisation to make it feel a bit more natural too.