Hi, everyone! Recently I came across an interesting article in my local language about performance issues that are connected with the nature of Unity physics engine, and how to solve them. link to article(rus) Three main unity physics laws that author claims are: The violation of these laws could result in massive performance drops because the engine marks the collider-violator as improper and initiates the re-initiation of such and the recalculation of phisics. 1. Colliders should not move, rotate, scale or enabled/disabled. Ordinary collider is should be a static object like a tree or so. 2. The movable object should always be a rigid body. As a rigid body does not initiate the entire recalculation of physics, only local, but it should be moved with the help of rigid body methods. 3. If the object is a rigid body it should move only by rigid body methods. Forget about direct control of object movement through transform component if it has a collider attached. transform is a 'killer of performance'. Use rigid body methods instead: 1. AddForce, AddTorque (the engine calculates the movement and collision depending on the mass of the body) 2. Velocity and angularVelocity properties 3. MovePosition, MoveRotation. (See the details in the documentation) The author also gives an example of 20box colliders movement and results in profiler. on the left transform.position / right rigidbody2d.MovePosition So the purpose of my post is to make a discussion of this topic, because some of the facts above were not obvious for me, and these mistakes do make difference on low-CPU devices. What do you think about that? P.S. what do Lerp method etc use for movement? and iTween?