As title says, I have a FBX (skinned character) which results in different vertex count on different computers, using the exact same project (checked with version control).
This breaks several things in our pipeline and I have no idea how to fix this.
Only relevant difference between two computers is processor (Intel vs AMD).
I did a more in depth testing, created a new project on both computers and imported same FBX with same settings, and still get the difference in vertex count.
It seems to origin from the smoothing angle, using calculated normals, set to calculate from both area and angle, and cranking up the smoothing angle to high values; on low values, vertex count stays same, above angle of 60 we start seeing differences, at 180 (max value) the difference is the biggest.
My guess would be some floating point differences between AMD and Intel architecture, but this is just a wild guess…
Is there any way I can bring over the mesh to another computer with basically same layout? I tried to trick the importer with copying over artifacts form the library folder, but it got overwritten on Unity start.
And even more testing it seems very likely it’s the processor which makes the difference.
Tested on another AMD and on another Intel machine. Get same vertex count on all Intel machines, and same different vertex count on Intel machines.
This also does not happen with every mesh. Now this is very nasty behavior, and I have no clue for a workaround. And also no clue how to report this as a bug, as it’s near certain that QA won’t be able to reproduce as long as they don’t have AMD and Intel machines available at the same time.
I found a horrible, but seemingly working workaround: Exporting the mesh from SMR in Editor (cloning by instantiating the mesh and creating a new asset in script) from “lead” computer, using the exported mesh in the SMR. Mesh assets don’t seem to be changed by Unity during import, the faulty behavior seems to be in the FBX importer.