Mesh Read/Write Enabled should be off by default (?)

Read/Write Enabled is on by default for meshes, maybe a legacy thing but it is not a good idea generally if it increases memory use - I can’t imagine most people need it enabled.
Should it be off by default?

I always wondered about this too. Fist thing I do when import a model is un-check that box.

Further feedback - don’t think the new feedback system is gonna work, it will all be lost in the huge forum!

1 Like

I have the impression that the Read/Write Enabled checkbox doesn’t make a big difference, at least on Windows Standalone projects. I hope someone can give us some more insight into this.

It uses 2x more memory by storing an extra copy, so no need unless you use a meshCollider.

1 Like

Or you want to use the models with the advanced NavMesh tools. NavMeshSurface whines when there is something not read/write enabled in scene. Basically “this will work now, but won’t work once you build your game”

3 Likes

There are other reasons for Unity to keep the additional copy in the system memory regardless of whether the flag is enabled or not (but it will always keeps a reference in video memory):

  • If the Mesh used as a Skinned Mesh.
  • If the Mesh is a candidate for dynamic batching.
  • A particle system uses the Mesh as an emitter.

In certain cases when the Mesh is used with a Mesh Collider, this option also needs to be enabled. These cases include:

  • Negative scaling (for example (-1, 1, 1))
  • Shear transform (for example when a rotated Mesh has a scaled parent transform).
3 Likes

Where did you get this information ? I dont see it anywhere here
https://docs.unity3d.com/ScriptReference/Mesh-isReadable.html