How to make a combined mesh readable, or access the original sharedMesh?

I’m trying to use Edelweiss’ Decal System, which, in order to create decals in runtime (bullet impacts and such), needs to read the data of the mesh it’s being projected on.

The problem is that, when using the Unity’s Static Batching feature, all static meshes (sharedMesh from MeshFilter) in the scene become a runtime generated combined mesh, which apparently is not readable, and thus, not usable by the Decal System mesh generator.

I’d like to use the very useful batching feature and at the same time be able to create decals.

A possible solution would be to use the sharedMesh from the MeshCollider, but of course I’m not using a MeshCollider everywhere.

Thanks in advance!

This is a very old post, but it’s the first result I found in Google when researching a similar issue I was having. In my case, I have a script that does some interesting visual effects which rely on accesses in the mesh of an object. This script wasn’t working on Static objects, because the MeshFilter’s mesh was a Combined Mesh by the time Start() was executed on mys script.

Anyway, what worked for me was to move my code from Start() to Awake(). It seems that the Mesh isn’t combined yet in Awake, but is combined by the time Start is called.

This is under Unity 2018.1.