Assuming I understand your question correctly, I would recommend checking BulletDynamics/Character/btCharacterControllerInterface.h and / or BulletDynamics/Dynamics/btActionInterface.h . Often, someone wants to "bend the rules" when implementing the movement of characters - to implement teleportation, for example, you can use the void warp(const btVector3& origin) btCharacterControllerInterface from btCharacterControllerInterface .
Personally, I managed to inherit directly from btActionInterface , while maintaining a pointer to btGhostObject , which I can update and implement my logic from there, but YMMV.
Note. If you just want to change the position and orientation, you can call the void setWorldTransform(const btTransform& worldTrans) btRigidBody on btRigidBody .
source share