This workaround is completely obsolete! Valve has fixed func_rotating in the 19/20/2018 update. Note: special thanks to @Spipper for setting up the example .vmf and verifying this, I'm making this thread so that this can be found easier Ever thought that func_rotating didn't work in TF2? Wrong, it works but it doesn't update visually. However there is a neat workaround to this that I thought up. This effectively makes the func_rotating alternatives obsolete, as func_rotating has far better options for control, and this method is very easy to set up. All you need is : - func_rotating - Whatever you want to use as the visual func_rotating (this can be a func_brush, or a prop_dynamic) - info_target - logic_measure_movement First, create the func_rotating and give it a name. You should make this func_rotating invisible, with either the Don't Render mode or Invisible tool texture. Second, create a info_target and give it a name. This will act as a placeholder of the func_rotating (you should place this in the same place as the func_rotating), which will be used for the logic_measure_movement. Third, create the visual entity which will display the rotation, and give it a name. This could be for example a prop_dynamic, or a func_brush. I recommend you make this entity non-solid, as remember that the func_rotating will still have collisions unless you set it not to have any. Fourth, create a logic_measure_movement, and do the following: Set the Entity to Measure as the name of your func_rotating. Set the Measure Reference as the name of your info_target. Set the Entity to Move as the name of your visual entity. Set the Movement Reference as the name of your info_target. And there you go, you now have a functioning func_rotating. You can set the movement sound, acceleration/deceleration, stop/start whenever you like and so on. Again, thanks to @Spipper for verifying this and creating the example .vmf, have fun.