void Start() { currentPage = page1; Navigate(); isScanning .Where(x => x) .Subscribe(_ => qrScanner.StartScan()) .AddTo(this); isScanning .Where(x => !x) .Subscribe(_ => qrScanner.StopScan()) .AddTo(this); qrScanner.OnScanned .Subscribe(x => { if (isSingleScan) { var input = currentPage.transform.Find("InputField").GetComponent <TMP_InputField>(); input.text = x.Data; isScanning.Value = false; } else { user = JsonUtility.FromJson <UserData>(x.Data); var input = currentPage.transform.Find("InputField").GetComponent <TMP_InputField>(); input.text = "success!"; isScanning.Value = false; } }) .AddTo(this); }