How to apply Euler rates to a transform

I am attempting to apply Euler rates (roll, pitch, yaw) in deg/s to a transform at a known rate. I know (or think that I know) that I can’t simply create a Vector3 using each rate and assign them directly to the transform, ie:

object.transform.eulerAngles = new Vector3(pitchRate, yawRate, rollRate);

What is the correct method to apply Euler rates to an object? Any help would be very much appreciated.

You could add the rates multiplied by Time.deltaTime to the eulerAngles:

void Update(){
  Vector3 euler = object.transform.eulerAngles;
  euler.x = (euler.x + pitchRate) % 360;
  euler.y = (euler.y + yawRate) % 360;
  euler.z = (euler.z + rollRate) % 360;
  object.transform.eulerAngles = euler;
}

But you may have problems at certain angles, because eulerAngles returns different combinations at some points. To avoid this, you can save the euler angles at Start, and add the rate to it:

Vector3 euler;

void Start(){
  euler = object.transform.eulerAngles;
}

void Update(){
  euler.x = (euler.x + pitchRate) % 360;
  euler.y = (euler.y + yawRate) % 360;
  euler.z = (euler.z + rollRate) % 360;
  object.transform.eulerAngles = euler;
}