How do I do a 'required if other field = x' using the entity validation api? I have a field in a content entity that is required if another field in it is checked, otherwise it can be blank.

My guess is that I'd need to make some kind of Validation Constraint Plugin for this - is there an easier way to do this, or a module where something like this already exists?
That sounds like a job for Drupal's Form API states.

Just add a hook_form_alter similar to this, in a custom module:

function MYMODULE_form_alter(&amp;$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  if ($form_id == 'FORM_ID_TO_ALTER') {
    $form['OPTIONALLY_REQUIRED_FIELD']['#states'] = array(
      'visible' =&gt; array(
        ':input[name="CHECKBOX_NAME"]' =&gt; array('checked' =&gt; 'checked'),
      ),
      'required' =&gt; array(
        ':input[name="CHECKBOX_NAME"]' =&gt; array('checked' =&gt; 'checked'),
      ),
    );
  }
}