Reset position for rigidbody2d

I trying to learn Unity and make volleyball game like Arcade Volleball. After each round I reset position of each player to its start position by calling ResetPosition method.

public class BaseController : MonoBehaviour
{
    private Vector3 spawnPoint;

    private void Start()
    {
        spawnPoint = transform.position;
    }

    public void ResetPosition()
    {
        rigidbody2D.velocity = Vector2.zero;
        transform.position = spawnPoint;
    }

    ...
}

Everything works fine, but do not leave me thinking that I did something wrong. I have 2 questions:

  1. Is it normal than I change position directly? Because I don’t know how to change it in another way.

  2. So does it mean than there is no overheap in performance of physic engine if I change position for object with collider but without rigidbody?

Rigidbody2D does have IsKinematic checkbox.

There is not problem doing what you are doing. Even if it was a costly performance I would not matter when done once in a while. Problem is if doing in every frame. That goes for about any thing related to micro optimization.