@TryhardProgrammer I am basing my assumptions from your code in the other topic where ou use rotateFor() function to move between 90 deg separated positions.
https://www.vexforum.com/t/sensor-not-accurate/73070?u=weilin
Please note that V5 motor PID does not stop at exact target location but approximately at the target:
If every time you rotate relative with rotateFor() the errors of just 3 encoder counts could slowly add up to many more encoder counts, depending on your good or bad luck. On the other hand, if you use absolute target and call rotateTo() function, then every time you will stop withing 3 counts of each target position.
I hope this explains why your stopping position error may grow over time.