private void Update()
        {
#if UNITY_EDITOR
            // Block this function from running if this object is a prefab
            if (PrefabUtility.GetPrefabType(this) == PrefabType.Prefab)
            {
                return;
            }
#endif

            if (m_assetInterface != null)
            {
                m_assetInterface.Update(Helper.GetCurrentTime());

                if (m_assetInterface.assetSource == AssetInterface.AssetSource.VOD ||
                    m_assetInterface.assetSource == AssetInterface.AssetSource.RealTime)
                {
                    if (m_assetInterface.IsOffline())
                    {
                        HvrPlayerInterface.CheckConnection();
                    }
                }
            }

            bool subroutineStackUpdated = m_subroutineStack.Update(GetComponents <HvrActorShaderSubroutineBase>());

            if (m_forceUpdateSubroutines ||
                subroutineStackUpdated)
            {
                m_forceUpdateSubroutines = false;

                string[] shaders = m_subroutineStack.GetShaderArray();

                if (m_renderMethodInterface != null)
                {
                    m_renderMethodInterface.SetShaderSubroutinesArray(shaders);
                }
            }
        }