# How do I replace a sprite in script?

**URL:** https://discussions.unity.com/t/how-do-i-replace-a-sprite-in-script/86985
**Category:** Questions & Answers
**Created:** [November 16, 2013, 9:27pm UTC](https://discussions.unity.com/t/how-do-i-replace-a-sprite-in-script/86985 "2013-11-16T21:27:35Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![UberBruce](https://avatars.discourse-cdn.com/v4/letter/u/58f4c7/32.png) [@UberBruce](https://discussions.unity.com/u/UberBruce)
#### Post date: [November 16, 2013, 9:27pm UTC](https://discussions.unity.com/t/how-do-i-replace-a-sprite-in-script/86985/1 "2013-11-16T21:27:35Z")

</div>

I’m trying to replace a gameobject’s sprite via script. I can’t seem to find a way to do it. I’ve attempted replacing the texture after loading it via resources, but it doesn’t help.

This is what I’m trying to do:

```
Texture2D texture = Resources.Load<Texture2D>("Wall_Vertical");
wall.renderer.material.SetTexture("Wall_Vertical", texture);

```

Since 4.3 released very recently there isn’t much info out there.  
Anyone got an idea?

---

<div class="post-metadata">

### Author: ![Skitzomaniak](https://avatars.discourse-cdn.com/v4/letter/s/9de053/32.png) [@Skitzomaniak](https://discussions.unity.com/u/Skitzomaniak)
#### Post date: [December 11, 2013, 6:45pm UTC](https://discussions.unity.com/t/how-do-i-replace-a-sprite-in-script/86985/2 "2013-12-11T18:45:29Z")

</div>

The easiest way I’ve found so far:

```
Sprite spr = Resources.Load<Sprite>("SpriteName");
SpriteRenderer sprRenderer= (SpriteRenderer)renderer;
sprRenderer.sprite = spr;

```

No amount of fiddling around with the renderer’s material got me anywhere, but getting the GameComponent’s SpriteRenderer and just applying the sprite directly to it seems to work. I have no idea how this method is for performance, but it works.

---

<div class="post-metadata">

### Author: ![anisabboud](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@anisabboud](https://discussions.unity.com/u/anisabboud)
#### Post date: [March 27, 2015, 10:10pm UTC](https://discussions.unity.com/t/how-do-i-replace-a-sprite-in-script/86985/3 "2015-03-27T22:10:39Z")

</div>

Place `awesome.png` in `Assets/Resources/` (you can have subfolders), and use:

```
GetComponent<SpriteRenderer>().sprite = 
    Resources.Load<Sprite>("awesome"); // No file extension.

```

> **[Unity - Scripting API: Resources](https://docs.unity3d.com/ScriptReference/Resources.html)**

There’s also [LoadAll](http://docs.unity3d.com/ScriptReference/Resources.LoadAll.html) that _“Loads all assets in a folder or file at path in a Resources folder.”_
