register factory plugins
only set metadata path if it exists