I have a custom display driver that supports multiple AOVs. I'm trying to add cryptomatte support as well. After a lot of digging it looks like there's a "custom_output_driver" bool that can be set to force the cryptomatte node to write additional outputs and metadata, but setting this flag to true doesn't seem to be enough because Arnold only sees the `cryptomatte_objects` etc outputs that I add to the outputs myself. Is there something else I have to do to get Arnold to set up those additional passes for me? Or do I need to do this myself in later versions of Arnold?
EDIT: I've been digging into the source code for the Arnold 5 cryptomatte implementation (https://github.com/Psyop/CryptomatteArnold). I'm sure the driver for 7 is different but I hoped it would at least give me an idea of what's going on under the hood. It seems like a lot is riding on the driver knowing it's either a custom output driver or the default EXR driver, because those are what it looks for to determine if it adds required outputs, writes metadata to the driver, etc. If I can get it to realize I'm using a custom driver, then theoretically it will create the necessary outputs for me AND save manifest metadata to my custom driver in a "custom_attributes" array param that can be accessible elsewhere, but so far no luck. It doesn't seem to be adding the outputs, and it doesn't seem to be writing the metadata or "custom_attributes" param.