Sprites stuck at upper left hand corner after using SpriteSortMode

I’m making a simple 2D platformer and everything was working fine until i changed my spritebatch.begin from SpriteSortMode.deferred to SpriteSortMode.FrontToBack to change the draw order.
I don’t know if this is some strange quirk of spritesortmode, but now all of my sprites are stuck being drawn permanently at what appears to be (0,0) even though in the update loop the sprite’s position changes like it should.

the main class passes spritebatch to a scene manager class:
public void draw(Spritebatch spriteBatch)
{
spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);
sceneManager.Draw(spriteBatch);
spriteBatch.End();
}

in sceneManager spriteBatch is passed to a list of actors:
public void Draw(spritebatch)
{
foreach (Actor actor in actors)
actor.Draw(spriteBatch);
}

the actor draws itself using spriteBatch :
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(spriteTexture, spritePosition, rectangle, Color.White, 0, spritePosition, 1.0f, SpriteEffects.None, 0.6f);
}

I’m only calling spritebatch.begin and spritebatch.end once in the whole program. I can control the actor and update its position like normal and it even animates in place but for some reason it won’t budge from the upper left corner of the screen.
Thanks in advance for any help!

I have a few questions:

  1. Which version of MonoGame are you using?
  2. Was that the only change you made? Does changing it back to Deferred fix it?
  3. Can you show your Begin call?
1 Like