Hey John,
Thanks for the help and the example - really appreciate it.
Yes, this method, you suggest is quite good and I am completely onboard with flexible and cheap - It basically solves everything I was chasing in terms of applying single colors(IDs) to a defined object(s) which is fantastic.
However ... trying to pipe through a custom attribute string / texture path using this method (as you mentioned as well) ...I just can't seem to get that to work. I do not get the user_data_string node to pass the attribute/path through into an aiimage node - Arnold doesn't even want to render (no errors, no nothing ... just halts immediately) ...thought this was so straight forward but I'm definitely missing something. :p
And on that note, I do not immediately see how one can utilize this method if one wants to connect a utility shader, not just a flat color value e.g. say you only want Gaffer Bot's boots to have an ambient occlusion shader applied in a custom AOV. ...which would be the ultimate control scenario here.
Just now, I tried even connecting a shader's output straight to a CustomAttribute nodes's value plugs (instead of just selecting a flat rgb color value) - long shot, I know ...just had to try it while writing this up :) - AOV is blank although Beauty renders fine.
Now, unfortunately I am unable to upload an example scene (based on yours) to illustrate my (highly likely to be incorrect) mistakes/typos so could I please ask you to make a basic example of this in your demo script ...that is, if there even is a simple solution for this?
Thanks again for all the trouble.
Best,