This must be dumb question but here goes...Why can't I drop a Sprite into my public Sprite variable.

I create a Sprite variable:
public Sprite SpawnPointSprite;

I create a Sprite GameObject:
Create->2D Object->Sprite

And I make it into a Prefab

But the editor won’t let me drop this new Sprite prefab into the public SpawnPointSprite variable. Why?

The problem is that you sprite lives into your scene, but the prefab does not.
You could drop your prefab into another scene and then the old referend sprite would not be available.

Doesn’t that create a game object with a SpriteRenderer? That is not the same as a sprite, which is why you can’t assign it.

1 Like

Yep. Both of you are right.

public SpriteRenderer SpawnPointSpritePrefab;
private SpriteRenderer SpawnPointSprite;

In the editor I drop the prefab into SpawnPointSpritePrefab and then do this to get the actual sprite which I can then use in game.

SpawnPointSprite = Instantiate(SpawnPointSpritePrefab);

Thanks guys. I’m going to change my user name from TokyoDan to BrainFart.