レスありがとうございます
すみません。初心者でインスペクタで放り込む方法がわからないんですが
いま自分が書いてる処理は下記のとおりです

if (mainCam == null)
{
mainCam = GameObject.Find("Main Camera");
return;
}
if (boolCam == false)
{
camPos = mainCam.transform.position;
boolCam = true;
return;
}

これを void Update でそのまま走らせると即座に反映されるんですが
void Initialize() を作って中にそのまま放り込んだあと同じ位置に置き換えると最初の1フレームが(0,0,0)になります
同じ処理をプレイヤー等の他のオブジェクトにも施してるんですが
メインカメラだけが1フレームの初期化をはさんでしまいます