The plugin loads fine in 2014 SP2 even when compiled against the 2013SP1 SDK; it is not forward but backward compatibility that appears to be broken.
Although the only proper rundown of SDK backwards compatibility I can find is from the 2011 SDK wiki, it states that "The Softimage SDK is backwards compatible with previous versions of Softimage and XSI", with exceptions for a few classes prior to 2010. The 2014 SDK similarly notes that "Some of the custom ICE node classes may break backwards compatibilty as of Softimage 2010", while making no mention of any new backward compatibility issues. This would suggest that plugins compiled against the 2014sp2 SDK, including use of the CICEAttributeDataArray class, should work in earlier versions, provided they do not make use of any newly introduced methods. Am I wrong? On Wed, Oct 23, 2013 at 11:56 AM, Stephen Blair <[email protected]>wrote: > > From the Softimage 2014 SP2 Readme: > > SOFT-9089 > Very slow access to the ICE attribute arrays > > *Note: > You may need to recompile your plugins, if they were compiled using > Softimage versions prior to 2014 SP2. > > > > On Wed, Oct 23, 2013 at 4:33 AM, Mathias N <[email protected]> wrote: > >> I've spent the night figuring out how to set per-component ICE attributes >> from a custom operator, which most of the threads on the subject had me >> beginning to believe was impossible. >> >> I was working with SI2013 and compiling against the SDK that ships with >> 2014sp2, and as soon as I declared a CICEAttributeDataArray the plugin >> would refuse to load with the error "A procedure couldn't be found in the >> library". >> >> Having never worked with CICEAttributeDataArray before I assumed support >> for it was added with SI2014, which would have explained the lack of >> working examples. Lo-and-behold it loaded fine in 2014sp2. >> >> After much frustration I did eventually manage to coax the C++ api into >> dumping arrays into per-point attributes, but was somewhat bummed that it >> would only work with 2014. However, hours of digging through the SDK >> documentation had made it abundantly clear that CICEAttributeDataArray was >> nothing new and should work fine in earlier versions. >> >> I swapped out the 2014sp2 SDK and compiled against the 2013sp1 SDK >> instead, which allowed the plugin to be loaded in 2013 without any errors. >> >> Aren't SDKs supposed to be backwards compatible? >> Are there any extra steps necessary to make it play nice with earlier >> versions, or do I have to stick with the old SDKs? >> > >

