Character Walk on a Wall? (E.g Sonic running around a loop)

You could also add an invisible collision mesh inside the loop, and just rotate the mesh to the rights rotation position.
Another idea would be to add splines inside the loop, and constrain the character to those splines.