A motion control system for controlling motion of a marine vessel, the motion control system comprising a higher-level motion controller and a lower-level thrust allocation controller , characterized in that the higher-level motion controller is configured to determine desired generalized forces to be exerted by a thruster system to achieve a desired motion of the marine vessel , and to input the desired generalized forces to the lower-level thrust allocation controller , the lower-level thrust allocation controller is configured to generate control signals to a plurality of individual thrusters (Th 1 , Th 2 ) available in the thruster system to distribute the desired generalized forces into individual forces of the plurality of individual thrusters (Th 1 , Th 2 ), at least one of the plurality of individual thrusters (Th 1 , Th 2 ) being a rotatable or azimuthing thruster, and the control signals of the at least one rotatable or azimuthing thruster controlling at least a thruster orientation and a generated thrust, preferably through controlling propeller speed and/or pitch, the higher-level motion controller is configured to determine and input to the lower-level thrust allocation controller both the desired generalized forces both for the current instant of time and the desired future generalized forces to be exerted by the thruster system, and optionally one or more further reference predictions or allocation parameters, and the lower-level thrust allocation controller is configured to take the desired future generalized forces, and optionally the one or more further reference predictions or allocation parameters, into account in generation of the control signals for the current instant of time. the higher-level motion controller is configured to determine desired generalized forces to be exerted by a thruster system to achieve a desired motion of the marine vessel , and to input the desired generalized forces to the lower-level thrust allocation controller , the lower-level thrust allocation controller is configured to generate control signals to a plurality of individual thrusters (Th 1 , Th 2 ) available in the thruster system to distribute the desired generalized forces into individual forces of the plurality of individual thrusters (Th 1 , Th 2 ), at least one of the plurality of individual thrusters (Th 1 , Th 2 ) being a rotatable or azimuthing thruster, and the control signals of the at least one rotatable or azimuthing thruster controlling at least a thruster orientation and a generated thrust, preferably through controlling propeller speed and/or pitch, the higher-level motion controller is configured to determine and input to the lower-level thrust allocation controller both the desired generalized forces both for the current instant of time and the desired future generalized forces to be exerted by the thruster system, and optionally one or more further reference predictions or allocation parameters, and the lower-level thrust allocation controller is configured to take the desired future generalized forces, and optionally the one or more further reference predictions or allocation parameters, into account in generation of the control signals for the current instant of time. <EOS>