One of the simpler effective decollision methods I've used is the bullet behavior to push objects away from each other.
Default speed 0, with a high negative deceleration.
Have your object in a family to check overlap with self. If overlapping with self/family, set bullet speed to an amount you want to push away, and set angle of motion for the object and family to away from each other.
Adjust the bullet behavior numbers until you get a satisfactory amount of decollision knockback.
Edit: note that most games that use this type of decollision do not do it every tick. Some do it only when every x seconds or on an asynchronous thread, and some only do it only when the object is at rest. You might also want to add other conditions to prevent an object getting yeeted across the screen if there are a lot of objects to collide with.
THANKS ! I understand the logic, I will look in this direction