Why does my gameobject move to a different position rather than transform?

I just CANNOT wrap my head around this, so im asking it here.

As seen in the Video i posted above, the “Wolf” and “Triangle” GO both have this script:

public class Wolf : MonoBehaviour
{
                            bool hittable;
    [SerializeField]        int HP;
                            bool isaggro;
    [SerializeField]        float Speed;

    [SerializeField]        Transform PlayerTransform;
    Rigidbody2D rb;


    void Start()
    {
        isaggro = false;
  
        HP = 3;
       rb = GetComponent<Rigidbody2D>(); 
    }


    private void Update()
    {
        FollowPlayer();
    }
    void FollowPlayer() 
    {

            if (PlayerTransform != null)
            {
                Vector2 direction = (PlayerTransform.position - transform.position).normalized; 
                rb.MovePosition((Vector2)transform.position + direction * Speed * Time.fixedDeltaTime); 
            }
        
    }

The Triangle is just for Testing purposes, and in the Video it goes directly into the player and it works fine. However the wolf goes to this one exact spot on the left of the player instead of right into the Player.

PlayerTransform is marked in red, but it also has no offset and all other parts of Player, including the Parent object, all yield the same result.

Why is this and what can i do?

MovePosition() essentially tries to move it there using physics… if something is in the way, it may not arrive.

I believe what you want is to either write the new position directly to the transform.position or rigidbody.position directly, both of which constitute “teleports” as far as the physics system goes.

Does the behavior differ if you disable your Wolf’s Animator component?

The wolf’s child objects are offset to the left. Select them all and move them so that they’re over the center of the parent object.

Sadly not, ive tried dissabling all of the components and even looked into the file size of the PNG, but it all does not have anything to do with it

This seems to be it. When removing all of the Child objects, it really is offput to the right. However when selecting the Wolf parent object, all of the edit methods suggested that it was indeed in the center, which is why i was confused and thought that there was no wierd offput.

Now, with the animator, it looks like i have to redo all of the animations since they were made with the old, offput Parent, is there a way to keep them without them bugging out?

Thank you so much for the help guys!