public void DoStuff()
        {
            if (!astarPath.IsNone && astarPath.Value != null)
            {
                astarp = FsmConverter.GetAstarPath(astarPath);
            }
            else
            {
                astarp = AstarPath.active;
            }

            if (!isScanning.IsNone)
            {
                isScanning.Value = astarp.isScanning;
            }

            if (!showGraphs.IsNone)
            {
                showGraphs.Value = astarp.showGraphs;
            }

            if (!IsUsingMultithreading.IsNone)
            {
                IsUsingMultithreading.Value = AstarPath.IsUsingMultithreading;
            }

            if (!IsAnyGraphUpdatesQueued.IsNone)
            {
                IsAnyGraphUpdatesQueued.Value = astarp.IsAnyGraphUpdatesQueued;
            }

            if (!lastUniqueAreaIndex.IsNone)
            {
                lastUniqueAreaIndex.Value = astarp.lastUniqueAreaIndex;
            }

            if (!ActiveThreadsCount.IsNone)
            {
                ActiveThreadsCount.Value = AstarPath.ActiveThreadsCount;
            }

            if (!NumParallelThreads.IsNone)
            {
                NumParallelThreads.Value = AstarPath.NumParallelThreads;
            }

            if (!Version.IsNone)
            {
                Version.Value = AstarPath.Version.ToString();
            }

            if (!graphs.IsNone)
            {
                graphs.Value = FsmConverter.SetNavGraphs(astarp.graphs);
            }

            if (!activeAstarPath.IsNone)
            {
                activeAstarPath.Value = FsmConverter.SetAstarPath(AstarPath.active);
            }

            if (!astarData.IsNone)
            {
                astarData.Value = FsmConverter.SetNavGraphs(astarp.graphs);
            }
            return;
        }