I read in another post that Unity’s scale is based upon meters and that the primitive cube in always one meter.
I tried importing an object from 3DS Max 8 built to this same scale and it comes in at 1/10 of the size. I experienced this with both 3DS and FBX format.
I tried with another 1 meter object that was built to 100 centimeters. This time, the object came in at least ten times too big!
I had closed down Unity, restarted and imported the .3DS file. At first it loaded huge, but had been scaled to 100. Resetting it to 1, it’s now the correct size.
Could be the eternal issue with 3dsmax’ weird units. In 3dsmax, what you see is “display units”, but what is actually stored is “system units”. You can setup both in options - and most often they don’t match 1:1 (*). What could happen is that FBX exports everything in display units, but puts scale on top of that to match system units, or vice versa. Unity can’t know that the file comes from 3dsmax and can’t automagically do “the correct scale”.
(*) The best would be to make system units match display units, e.g. set both to be meters. However, (at least in 3dsmax 5/6) it was pretty unusable because 3dsmax would always set viewport near clipping plane to something like 1 system unit - so you couldn’t effectively work with small objects. That’s why everyone sets up system units to be e.g. millimeters, and display units to be meters.
I was doing more testing with .3DS files and Unity importing. If Max units are setup to metric-meters and system unit setup is set to 1 unit = 1 meter, the 3ds file will import fine into Unity, with the mesh scale factor set to 1.
If you change the system unit setup in Max to 1 unit = 1 centimeter, the Unity mesh scale factor setting has to be .01.