Regarding to PlayerController

I cannot put my player controller class on a scene. Is it because the root is a scene component which cannot be rendered?

Player Controller is placed automatically for each player in the game, this class kind of (since there UPlayer which does not much relevant code) represents player it self and created for each of one of them. You can switch default Player Controller class project settings same place where you change game mode class, you can also do that for the individual level in World Settings.

This class does not suppose to be physical, so there no components in it, it’s a Actor only to tie it to the world instance which is most basic function of Actor.

Thank you that’s really help.

I have one more question, from the doc

Note that actors do not directly store
Transform (Location, Rotation, and
Scale) data; the Transform data of the
Actor’s Root Component, if one exists,
is used instead.

in what case the root Actor’s Root Component does not exist?