Do views filter plugins not apply to base field definitions? I created a custom entity type that has a base field definition like this:

$fields['start_date'] = BaseFieldDefinition::create('datetime')
  -&gt;setLabel(t('Start Date'))
  -&gt;setDescription(t('The date and time to start.'))
  -&gt;setDisplayOptions('view', array(
    'type' =&gt; 'datetime_default',
    'weight' =&gt; 3,
  ))
  -&gt;setDisplayOptions('form', [
    'type' =&gt; 'datetime_default',
    'weight' =&gt; 3,
  ])
  -&gt;setRequired(TRUE);


When I create a view that displays entities of this type, and try to create a filter on this base field, I get the generic filter provided by views, instead of the one defined in Drupal\datetime\Plugin\views\filter\Date.

Why is that?
Looks like this is a known major issue. Here's the main "parent" issue where most of the work is going down: https://www.drupal.org/node/2337515

I think, by default, there is some basic views integration for all entities, but it's not that robust.

As a workaround, I was able to implement hook_views_data_alter to tell views to use the 'datetime' filter plugin instead of the default 'string' plugin it had.

function MY_MODULE_views_data_alter(array &amp;$data) {
  $data['my_entity_type']['start_date']['filter']['id'] = 'datetime';
}