General info:
Here are the rules for using an attribute in a configurable product.
They come from \Magento\ConfigurableProduct\Model\Product\Type\Configurable::canUseAttribute
public function canUseAttribute(\Magento\Catalog\Model\ResourceModel\Eav\Attribute $attribute)
{
return $attribute->getIsGlobal() == \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL &&
$attribute->getIsVisible() &&
$attribute->usesSource() &&
$attribute->getIsUserDefined();
}
So basically, the attribute should be global (is_global = 1 in talbe catalog_eav_attribute
), is visible (is_visible = 1 in table catalog_eav_attribute
), usesSource (type is select or multiselect and source_model is not empty - all in table eav_attribute
) and is user defined (is_user_defined = 1 in the eav_attribute table)
Now for your specific problem. You can change is_user_defined
to 1 in the eav_attribute table for your specific product.