I see what you're saying, isEnabled is not a property I want to change. What I need is a button that can be disabled without its collider being disabled so it can still work with UIDragScrollView. So I got rid of the isEnabled = true in UIButton::OnEnable and replaced the isEnabled=false in OnDisable to UpdateColor(false,false). This works great since it allows me to disable and re enable the button at run-time in the inspector. The only hurdle left to jump over is tweening the color to the disabled color if the script is disabled. Awake is called even if the script is disabled. Putting UpdateColor(enabled, true) in there causes the desired effect. Thanks for your help.