Regarding 1/, I think you are using 4.2: there’s a bug that has been corrected in 5.0. If you want to fix it for 4.2, see Compiling Node Materials with Instances on Safari - #18 by Evgeni_Popov
For 2/, you need to use clone
instead of reloading the 2nd material, and pass true
for the 2nd parameter to reuse the same effect. There’s also some code that needs to be added to make NodeAttributeInjector
serializable (else clone
won’t work):