I want to make it so holding q and e tilts your character and moves it to the side, and releasing it moves and tilts it back, like in Tom Clancy’s Rainbow Six: Siege
In simple terms what you are looking for is rotating your player/camera on the forward axis.
For example if your player is set to face the local Z axis then you should rotating him locally around that axis. To animate that rotation you can use lerping.
I don’t have an example in mind so you will have to do some digging in the forums and docs on that.
how do I detect which direction they are facing
That’s avaliable in the following entity property: