Usually thrust vectoring for the whole rocket is done by changing the orientation of individual engine(s) by hydraulic/electric actuators. So in this system the engine simply moves and with it the trust vector moves too in the exactly same direction.
I wonder whether a solid state thrust vectoring could be used where the engines would not move at all (be static) and instead the thrust of individual engines would be changed to provide a final 3D thrust vector by vector addition of thrusts of individual engines. Of course such setup would only work for a configuration of multiple engines (at least 3 engines for 3D vector) since the vector of single engine would still remain the same (only thrust would change).
I have not found such "solid state thrust vectoring" system in commercial usage. Are there any problems with this solution? Such system would have fewer parts any may be more reliable. I am interested in classical bell nozzle engines mainly.
As a side note I found a company that is developing a 3D printed aerospike rocket engine with solid state thrust vectoring (video, site) where the single engine has its chamber split into 3 parts to provide 3D thrust vector so it looks like solid state vectoring with aerospike may be doable but the system has not flown yet.
Edit: I just learnt there is a term called "differential thrusting" which is what I meant by "solid state thrust vectoring" (nice question). For additional small engines there are the Vernier thrusters and sometimes RCS is mentioned to also work for attitude control.