How can I fix shooting position?

Hello Unity Community!

I have my gun model and my Raycast shooting object called “BulletSpawn” right infront of my barrel of the gun.
However, when I zoom in (aim down the sight) it does not shoot accurately due to the incorrect positioning so how can I fix this to shoot exactly where the aiming down sight position also?

Multiple possible fixes exist.

Quick and dirty. Simply move the scope and bullet spawn position to the same position.

Longer and slightly less dirty. Take a raycast from your scope to the object your player is aiming at. Use the position to determine where your bullet should be heading on leaving the gun.

Longer and accurate. Implement a range finder system on your gun, and have the player adjust the shot according to the range.