I noticed that #CONTR#1 is added to the name of my controller. Why? So if my controller logic brick is named “move_cont” and you output it the name is: move_cont#CONTR#1


This is the string representation of the controller:

<name>#CONTR#<controller number>

I do not know why. I guess It it is easier to identify the controller in you logic brick, when an the controller throws an exception. But because of the fact that controllers have unique names within an object this seems a bit pointless. This is similar to the object’s name start with “OB”.
I would say … historical reasons :).

Maybe someone else knows more.