Built-In PID Control

In the Motors and Sensors Setup window, there is an option for “PID Control” for any motor that has an integrated encoder module. I have each of them clicked, but the robot is not capable of driving even close to straight. Why would it not be working? Is that not what the PID Control button is for, or is there something that you need to do other than setting up the encoders and clicking the button? I have tested the encoders, and I know that they are wired correctly and giving values.

Basically, is there anything you have to do for built-in PID Control other than setting up the robot, pressing the button, and setting the motor values (motor [motorName] = value;)

The ROBOTC PID should control the motors to run at a consistent speed, however, many other factors can affect how the robot will actually perform. Make sure the motors are configured with the same gears, check for sources of addition friction etc.
There is some more information about the ROBOTC PID functionality in this thread.
It’s discussing another application of PID but the explanation still applies.