public static void EnqueueJob(LoadRenderModelJob job)
            {
                if (s_worker == null)
                {
                    var workerObj = new GameObject(typeof(VIUSteamVRRenderModelLoader).Name + "." + typeof(WorkerBehaviour).Name)
                    {
                        hideFlags = HideFlags.HideAndDontSave,
                    };
                    DontDestroyOnLoad(workerObj);
                    s_worker = workerObj.AddComponent <WorkerBehaviour>();
                }

                if (s_jobQueue == null)
                {
                    s_jobQueue = new Queue <LoadRenderModelJob>();
                }

                s_jobQueue.Enqueue(job);

                s_worker.isWorking = true;
            }
 // NOTICE: Avoid calling Load after applicaion quit, this function will create worker gameobject
 public static void Load(string name, Action <string> onComplete)
 {
     WorkerBehaviour.EnqueueJob(new LoadRenderModelJob(name, onComplete));
 }
 public Worker(WorkerBehaviour behaviour)
 {
     this.workerBehaviour = behaviour;
 }