unity – Passing RaycastHit to FixedUpdate function?

This one has me stumped. I am passing a RaycastHit to a new script through Intake (because I can’t pass to FixedUpdate). I have verified the hit is making it that far but I can’t find a way to get the value into FixedUpdate. The code below doesn’t have any errors, but rocketHit.point comes back as 0,0,0. And the homing works…but of course goes to 0,0,0 instead of my cursor e.g. RaycastHit.

I even tried passing it through my Coroutine, but no success. The goal here is to launch a rocket with an upward force for a short time before the “homing” feature kicks in, so the homing has to be in the FixedUpdate.

Thoughts? I feel like this is a general C# knowledge issue of passing variables.

public void Intake(RaycastHit hit)
{
    rb = GetComponent<Rigidbody>();
    Vector3 rocketHit = hit.point;
    StartCoroutine(HomingDelay());
    //return rocketHit;
}

private void FixedUpdate()
{
    if (homing)
    {
        Debug.Log("rocketHit: " + rocketHit.point);
        Vector3 direction = rocketHit.point - rb.position;
        direction.Normalize();
        Vector3 rotationAmount = Vector3.Cross(transform.forward, direction);
        rb.angularVelocity = rotationAmount * rocketTurnSpeed;
        rb.velocity = transform.forward * rocketSpeed;
    }
    Destroy(gameObject, 6);
}

private void OnCollisionEnter(Collision collision)
{
    Destroy(gameObject);
    Explode();
}

private IEnumerator HomingDelay()
{
    rb.AddForce(Vector3.up * launchForce, ForceMode.Impulse);
    yield return new WaitForSeconds(homingDelay);
    homing = true;
}