namespace Sandbox.Physics; [Expose] public class PhysicsSettings : ConfigData { /// /// If false, then instead of operating physics, and UpdateFixed in a fixed update frequency /// they will be called the same as Update - every frame, with a variable time delta. /// public bool UseFixedUpdate { get; set; } = true; /// /// If you're seeing objects go through other objects or you have a low tickrate, you might want to increase the number of physics substeps. /// This breaks physics steps down into this many substeps. The default is 1 and works pretty good. /// Be aware that the number of physics ticks per second is going to be tickrate * substeps. /// So if you're ticking at 90 and you have SubSteps set to 1000 then you're going to do 90,000 steps per second. So be careful here. /// public int SubSteps { get; set; } = 1; /// /// How many times a second FixedUpdate runs /// public float FixedUpdateFrequency { get; set; } = 50.0f; /// /// If the frame took longer than a FixedUpdate step, we need to run multiple /// steps for that frame, to catch up. How many are allowed? Too few, and the /// simluation will run slower than the game. If you allow an unlimited amount /// then the frame time could snowball to infinity and never catch up. /// public int MaxFixedUpdates { get; set; } = 2; }