How can I change actor's default properties on runtime with c++?

The constructor is used for the sake of construction of the object, before it be spawned or initialized. The function you are looking for is the BeginPlay, which is called in the moment the object comes into game. There is a limitation in the BeginPlay method where you can’t use it to find assets calling the ConstructorHelpers. If you need to build components, set materials and another stuff involving assets you will need to use the StaticLoadObject method.

More information on: