public void SetAssetInterface(AssetInterface asset)
        {
            // Assign the new asset
            if (asset == null)
            {
                m_assetInterface = null;

                m_actorInterface.SetAsset(HVR.Interface.Types.INVALID_HANDLE);
            }
            else
            {
                m_assetInterface = asset;

                m_actorInterface.SetAsset(m_assetInterface.handle);

                // Always update the transform after setting a new asset - Tom
                UpdateTransform();
            }

            // If the suborutinestack has any shaders, we need to set them again after the asset has changed
            if (m_subroutineStack.GetShaderArray().Length > 0)
            {
                m_forceUpdateSubroutines = true;
            }
        }