Clearing pixel from texture changes the asset as well?

My code creates a sprite texture from a asset. It then clears the bottom pixel of that sprite. That works fine, but what I don’t get is that the actual itself that I created the sprite from also has a cleared pixel, and until I reset Unity it stays that way. So why/how is that happening? here’s a screen shot Unity to show you what I mean.

And here’s the code I’m using that does that.

backSprite = Resources.Load(assetName, typeof(Sprite)) as Sprite;
		
		//Create a new gameobject
		obj = new GameObject("RedSquare");
		
		//Attach a SpriteRenender to the newly created gameobject
		SpriteRenderer rend = obj.AddComponent(typeof(SpriteRenderer)) as SpriteRenderer;
		
		//obj.transform.position = new Vector2 (0, 0);
		
		//Assign the sprite to the SpriteRenender
		rend.sprite = backSprite;
		
		increment = 0;
		speed = 4;
		
		startPoint = transform.position;
		endPoint = transform.position;
		
		myTexture = backSprite.texture;

		MyPixel = myTexture.GetPixel(0,0);

		myTexture.SetPixel (0, 0, Color.clear);

		myTexture.Apply ();

its funny behavoiur but yes, iit changes. But does not saves (so just reload your texture or all project - and you will see original texture, without changings).

create new texture, copy origin data to it and assign it to the object, as workaround.

I guess its feature, not a bug… but it still not obviously for me.

Mmh if you’re always gonna clear the same pixel then you could create another texture with that pixel missing from the beginning and change between those two when needed. If not, then try instantiating? Or look around for a reload sprite/texture command so that it can do it automatically or in the case that you need your complete texture again in-game.