SixDPhysicsController

This is probably the simplest way to implement a six degrees of freedom (6DoF) controller that doesn't suffer from Gimbal lock. It's physics based so we let Unity's buit-in PhysX system do most of the work for us. However, it's not perfect and most users will probably want more control over how rotation is handled. But it's still a good starting point.