Gutenberg Templates allows to build dynamic templates with custom fields and taxonomy and assign them to any content type in WordPress.
The templates will work like PHP templates. You design them once and they automatically apply to all items of a post type. When you edit a template, changes apply immediately to all the items that use that template.
Any item can opt-out of the post type template application at any time using a meta box control on the item edit page.