🐞 Possible Bugs

Components/PhysicalProperties.cs
The code assumes GameObject.Root.GetComponent<T>() returns a non-null object and calls IsValid() on it; if GetComponent returns null this will throw a NullReferenceException before IsValid can be called.