void Start() { uiText.text = character.ToUpperInvariant(); UiButton.OnClickAsObservable() .Subscribe(_ => DoCharacterQuickJump()); this.ObserveEveryValueChanged(me => me.character).WhereNotNull() .Subscribe(newCharacter => uiText.text = newCharacter.ToUpperInvariant()); disposables.Add(InputManager.GetInputAction(R.InputActions.ui_submit).PerformedAsObservable() .Where(_ => eventSystem.currentSelectedGameObject == UiButton.gameObject) .Subscribe(_ => DoCharacterQuickJump())); }