PLEASE GIVE thumbs-up EMOJI to this Issue to make Official support for metric units:
GitHub
Switching/Transition to a different metric system · Issue #8773 · Facepunch/sbox-public
What can't you do? Currently, Sauce 2 is using unit system based on inches. How would you like it to work? It would be a great feature if we could switch between or transit to a different metric sy...
How to use?

using Sonic853.InchConverterLib;

var m = InchConverter.InToM(1);
Log.Info($"m:{m}");
var inch = InchConverter.MToIn(1);
Log.Info($"in:{inch}");

Log.Info($"LocalPosition(M):{LocalPosition.ToM()}");

LocalPosition = new Vector3(1).ToIn();
Log.Info($"new Position:{LocalPosition}");

var distance = Vector3.Direction(pointA, pointB);
Log.Info($"distance(M):{distance.ToM()}");

Extension

using Sonic853.InchConverterLib.Extensions;

var meter = inchFloat.Meter;
Log.Info($"m:{meter}");
inchFloat.Meter = 1; // 1 meter
Log.Info($"in:{inchFloat}");

var meterVec2 = inchVec2.Meter;
Log.Info($"m:{meterVec2}");
inchVec2.Meter = new Vector2(1); // 1 meter
Log.Info($"in:{inchVec2}");

var meterVec3 = inchVec3.Meter;
Log.Info($"m:{meterVec3}");
inchVec3.Meter = new Vector3(1); // 1 meter
Log.Info($"in:{inchVec3}");

Log.Info($"m:{gameObject.LocalPositionMeter}");
gameObject.WorldPositionMeter = new Vector3(1); // 1 meter
Log.Info($"in:{gameObject.LocalPosition}");

Source code: