I'm experiencing choppy motion with the 3DPhysicsCharacterController, in that it appears to stutter a bit at regular time intervals. It seems to be related to the frame rate, as setting different sync rates changes the appearance of the motion, but it's never smooth. I've also found that moving the window changes it as well, similar to changing the sync rate. I'm getting the same issue in both Studio and Classic. Here's a snippet to test (it's especially noticeable when moving left and right).
#constant SW = 1024
#constant SH = 768
SetWindowSize(SW,SH,0)
SetVirtualResolution(SW,SH)
SetSyncRate(60,0)
SetCameraPosition(1,0,128,-256)
ground = CreateObjectPlane(1024,1024)
RotateObjectGlobalX(ground,90)
SetObjectPosition(ground,0,-64,0)
SetObjectColor(ground,64,64,64,255)
player = CreateObjectBox(32,64,32)
SetObjectPosition(player,0,32,0)
FixObjectPivot(player)
Create3DPhysicsWorld()
Create3DPhysicsStaticPlane(0,1,0,-64)
ovec = CreateVector3(0,32,0)
rvec = CreateVector3(0,0,0)
Create3DPhysicsCharacterController(player,1,ovec,rvec,0.5)
repeat
Step3DPhysicsWorld()
move# = (GetRawKeyState(68) - GetRawKeyState(65))
strafe# = (GetRawKeyState(87) - GetRawKeyState(83))
Move3DPhysicsCharacterController(player,move#,strafe#,100.0)
Print("Move with WASD")
Print(ScreenFPS())
Sync()
until GetRawKeyState(27)