Using Transform.Translate vs AddForce for an AI Character

Hi. currently I’m working on a 2D game project which consisting of AI Characters that have the ability to walk, attack, die etc…

I already have made a script for making the AI walk around using RigidBody.Addforce, problem is that I’m not sure whatever functions or classes should I use for 2D AI movement.
As far as I know there are several ways for that, Transform.Translate, Rigidbody.AddForce, or Vector2.MoveTowards,
and I’m really confused and not sure whatever way should I use for a basic AI Movement in 2D Project, what are the differences between all these ways, and if there is any difference in performance, or limitations in using a specific way.
I’ll be glad if someone would explain in detail.

Read the documentation on them, it explains.

Transform.Translate and anything Transform. or Vector. is primarily for non-physics movement. Using functions that are part of Rigidbody. will help keep your physics behavior consistent.

Should I use Rigidbody for AI characters or vector/transform?

Do the AI Characters have a Rigidbody and Collider? Then yes.