Asset Post Processors usage

Hello!
I’m a Product Manager in the Content Pipeline group, and I was curious to know more about the usage of Asset Post Processor.
When are you using them? In which context? Which problems are you trying to solve and why?
If you are not using Asset Post Processor, do you have any specific reasons or workaround?

Any feedback is welcome, success stories or pain points… you can be brutally honest! :smiley:
thanks a lot!

Bruno

My main issue with AssetPostProcessor, and the reason I avoid it (in favor of more complex ScriptedImpoters) is that it’s not easy to configure per asset. For example, usually we have some subset of assets that need tweaks (like only FBX’s that represent humanoid rigs), and there’s no obvious way with AssetPostProcessor to expose UI and store configuration alongside the asset in the meta file.

More generally, the Asset Database is structured like a dependency graph, which Asset Post Processor seems to kind of ignore? Ideally, if you modify the post processor, it should go reimport those assets that are affected, and you should be able to define custom dependencies on other assets like in a ScriptedImporter!

For example, I’d like to be able to write an asset importer that takes two assets as input:

  • A humanoid head mesh. (FBX)
  • An alembic hair groom. (Alembic)

and produces a third asset:

  • human head with hair instance setup (GameObject)

And ideally, that asset gets re-imported only when the two source assets change!

Basically, I want to be able to think of the asset importers as a pipeline, rather than a bundle of global scripts. It works this way under the hood – so I think it just needs to be exposed in the right way!