How to make an animated mesh be in bindpose?

Is there a way to make a skinned mesh have it’s armature be in bind pose?
I can’t seem to find any way to this.

Preferably I’d like to do this in code

Couldn’t find a simple function or setting (which is odd IMO, as this should be an easy thing for Unity to add),
But I managed to do it like this:

var bindposes = smr.sharedMesh.bindposes;
                    var bones = smr.bones;
                    var parents = new Transform[bones.Length];
                    for (int i = 0; i < bones.Length; i++)
                        parents _= bones*.parent;*_

bones*.parent = null;*
for (int i = 0; i < bones.Length; i++)
bones_.localScale = bindposes*.inverse.ExtractScale();
bones.rotation = bindposes.inverse.ExtractRotation();
bones.position = bindposes.inverse.ExtractPosition();
for (int i = 0; i < bones.Length; i++)
bones.parent = parents;
using these extension methods:
(which I got from
public static class MatrixExtensions
public static Quaternion ExtractRotation(this Matrix4x4 matrix)

Vector3 forward;
forward.x = matrix.m02;
forward.y = matrix.m12;
forward.z = matrix.m22;_

Vector3 upwards;
upwards.x = matrix.m01;
upwards.y = matrix.m11;
upwards.z = matrix.m21;

return Quaternion.LookRotation(forward, upwards);

public static Vector3 ExtractPosition(this Matrix4x4 matrix)
Vector3 position;
position.x = matrix.m03;
position.y = matrix.m13;
position.z = matrix.m23;
return position;

public static Vector3 ExtractScale(this Matrix4x4 matrix)
Vector3 scale;
scale.x = new Vector4(matrix.m00, matrix.m10, matrix.m20, matrix.m30).magnitude;
scale.y = new Vector4(matrix.m01, matrix.m11, matrix.m21, matrix.m31).magnitude;
scale.z = new Vector4(matrix.m02, matrix.m12, matrix.m22, matrix.m32).magnitude;
return scale;