I need to locate a sprite position from an atlas, it doesn't working...

            void OnSuccess(RawImage holder, Sprite sprite, object data)
            {
                holder.texture = sprite.texture;
                Vector2 pos = new Vector2(sprite.textureRect.x / sprite.texture.width, sprite.textureRect.y / sprite.texture.height);
                Vector2 size = new Vector2(sprite.textureRect.width / sprite.texture.width, sprite.textureRect.height / sprite.texture.height);
                holder.uvRect = new Rect(pos, size);
            }
            void OnSuccess(MeshRenderer holder, Sprite sprite, object data)
            {
                holder.material.mainTexture = sprite.texture;
                holder.material.mainTextureScale = new Vector2(sprite.textureRect.width / sprite.texture.width, sprite.textureRect.height / sprite.texture.height);
                holder.material.mainTextureOffset = new Vector2(sprite.textureRect.x / sprite.texture.width, sprite.textureRect.y / sprite.texture.height);
            }

It worked correctly on Unity2018.4, but it doesn’t work on Unity2019.4, the value of textureRect.x or y is zero.

The sprite is get from an SpriteAtlas