For our new game, we're building the levels in Maya LT which is really nice for our workflow. We've been heavily using the AssetPostprocessor in Unity to let us tag objects with all sorts of data like physics materials and collision types (convex or concave). The one flaw we had is that this leads to a lot of duplicated objects. For example, make a scene in Maya LT. Create a single cube. Now duplicate that cube 10 times. Import into Unity. This is what you get: That's a unique Mesh object for each cube. Hugely wasteful. Now, you could do this the "normal" way: export a single cube as an FBX and place it 10 times in Unity. But that breaks the workflow we're enjoying by having all level data be in our single Maya scene. So what I did was write an AssetPostprocessor to patch all this up. Anytime you import a model, it finds all the meshes inside and compares them. If it finds duplicates, it deletes the duplicate and updates references to it to point at the new mesh. With that in place that exact same scene now looks like this: Big difference. The asset will now be much smaller on disk, much smaller in RAM, load faster, and likely render faster due to this cleanup. And since I found it so useful but I don't think it makes any sense to sell, I decided to put it up on Github's Gist service and let anyone have it. You can get all the code here: https://gist.github.com/nickgravelyn/9654795. It's worked well in my few test scenes so hopefully it proves useful to others as well. If you find this code useful and feel so inclined, you can pay me back by picking up a copy of my company's first game Shipwreck: http://brushfiregames.com/shipwreck.