private static DazFigurePlatform DiscoverFigurePlatform(DTU dtu)
        {
            var token = dtu.AssetID.ToLower();

            foreach (DazFigurePlatform dfp in Enum.GetValues(typeof(DazFigurePlatform)))
            {
                if (token.Contains(dfp.ToString().ToLower()))
                {
                    return(dfp);
                }
            }

            return(DazFigurePlatform.Genesis8);//default
        }
        private static IEnumerator ImportRoutine(string dtuPath, string fbxPath)
        {
            Daz3DBridge.CurrentToolbarMode = Daz3DBridge.ToolbarMode.History;//force into history mode during import

            Daz3DBridge.Progress = .03f;
            yield return(new WaitForEndOfFrame());

            _map = new MaterialMap(dtuPath);

            while (!IrayShadersReady())
            {
                yield return(new WaitForEndOfFrame());
            }

            var dtu     = new DTU();
            var routine = ImportDTURoutine(dtuPath, (d => dtu = d), .8f);

            while (routine.MoveNext())
            {
                yield return(new WaitForEndOfFrame());
            }

            //ImportDTU(dtuPath);

            DazFigurePlatform platform = DiscoverFigurePlatform(dtu);

            Daz3DBridge.Progress = .9f;
            yield return(new WaitForEndOfFrame());

            if (GenerateUnityPrefab)
            {
                GeneratePrefabFromFBX(fbxPath, platform);
            }

            Daz3DBridge.Progress = 1f;
            yield return(new WaitForEndOfFrame());

            _map = null;

            Daz3DBridge.Progress = 0;


            yield break;
        }