Hmmm I'm not seeing this behaviour in a simple test case. This works as expected: class FloatSliderActingLikeMaxValueStatic : PartModule { [KSPField(guiName = "Test Field", isPersistant = true, guiActive = true, guiActiveEditor = true), UI_FloatRange(stepIncrement = 0.5f, maxValue = 100f, minValue = 0f)] public float someField = 100f; public override void OnStart(StartState state) { base.OnStart(state); if (part.partInfo.name == "mk1pod") { Log.Warning("Setting values for pod"); ((UI_FloatRange) Fields["someField"].uiControlEditor).minValue = 20f; ((UI_FloatRange)Fields["someField"].uiControlEditor).maxValue = 220f; } else { Log.Warning("Setting values for can"); ((UI_FloatRange)Fields["someField"].uiControlEditor).minValue = 10f; ((UI_FloatRange)Fields["someField"].uiControlEditor).maxValue = 110f; } } } [KSPAddon(KSPAddon.Startup.SpaceCentre, true)] class FloatSliderTestInstaller : MonoBehaviour { private void Start() { DontDestroyOnLoad(this); var pod = PartLoader.getPartInfoByName("mk1pod").partPrefab; var can = PartLoader.getPartInfoByName("landerCabinSmall").partPrefab; pod.gameObject.AddComponent<FloatSliderActingLikeMaxValueStatic>(); can.gameObject.AddComponent<FloatSliderActingLikeMaxValueStatic>(); } } Is there any more code in there? The only gotcha I can think of is that having the UI_Control affect sym counterparts could possibly overwrite minValue and maxValue (didn't check) but you mentioned two distinct parts so I wouldn't think that was your problem
    • Like
    1