PandaSteer 2

Aow…, after you added collision sphere around each char and added sphere obstacles, why haven’t you done clean removal of them ? Simply removing/detaching them doesn’t do any removal, because the traverser is still using them ALL, so there are still references to each of them.
To view the report, try to print out the number of currently active colliders :

        print 'ACTIVE COLLIDERS :',base.cTrav.getNumColliders()

at the very bottom of restart method.
Then rapidly restart the plugin or switch to the next one.
And you’ll see it’s increasing 'till thousands (10 chars or +obstacles plugin), and keep watching your memory meter to see your free mem crawling down.

All you need to do is removing them from the traverser :

  • in characters removal loop :
            base.cTrav.removeCollider(character.spherecnp)
  • in obstacles removal loop :
            base.cTrav.removeCollider(obstacle.cnp)

If no leakage, there should be only [ numChars*2 (sphere&segment) + numObstacles + 1 (mouse ray) ] active colliders.
Running memory meter all the time is very helpful and makes me feel better. :smiley: