If you’re using the Arnold API to update ASS files (for example, to change paths), you need to load all the plugins (aka shaders) that are referenced by the ASS file. Otherwise, the unknown nodes are skipped on load, and therefore won’t be in any ASS file you write.
For example, if you set ARNOLD_PLUGIN_PATH to point to the locations of the MtoA shaders and any custom shaders you use, then you could do something like this:
from arnold import * import os AiBegin() AiMsgSetConsoleFlags(AI_LOG_ALL) AiLoadPlugins( os.getenv( 'ARNOLD_PLUGIN_PATH' ) ) AiASSLoad("original.1001.ass", AI_NODE_ALL) # # Do your edits here # AiASSWrite("edited.1001.ass", AI_NODE_ALL, False) AiEnd()