protected override void RichInit() { base.RichInit(); // as first line - call base initialization // your initialization here if (StateItem == null) { return; // no UIStateItem } rectRransform = StateItem.GetComponent <RectTransform>(); canvasGroup = StateItem.GetComponent <CanvasGroup>(); layoutElement = StateItem.GetComponent <LayoutElement>(); InitAnimationFields(); InitAnimationStates(); // if layout element animation is not enabled if (!(animationFields.LayoutElement_preferredHeight || animationFields.LayoutElement_preferredWidth)) { // call default state if ( !(Application.isEditor && !Application.isPlaying) && // except not playing editor StateItem.group == null // and single mode ) { StateItem.SetStateDefault(true); } } }