LibGDX sprite not rendering

I’ve never had this problem before, it’s probably something small i’m looking over.
Setting up :

batch = new SpriteBatch();
		UIBatch = new SpriteBatch();
		cam = new OrthographicCamera(Gdx.graphics.getWidth(),
				Gdx.graphics.getHeight());
		mapManager = new MapManager("test", cam);//loads "maps/test.tmx"
		player = new Player(50, 50);
		cam.position.set(cam.viewportWidth / 2f, cam.viewportHeight / 2f, 0);

This is how I render.

batch.setProjectionMatrix(cam.combined);
		batch.begin();
		mapManager.render();
		player.update(delta);
		player.render(batch);
		batch.end();

Inside player.render(), i’ve tested the sprite with UIBatch which works fine.

test.draw(batch);
test.setPosition(getX(), getY());
		

Inside mapManager.render()

renderer.setView(cam);
		renderer.render();

have u tried

camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

or in your render method:

camera.update();

EDIT:
Why are u doing:

cam.position.set(cam.viewportWidth / 2f, cam.viewportHeight / 2f, 0);

?

Yes, I do update the camera. Forgot to mention that.
I did try setToOrtho.

EDIT: to center the camera. the viewportwidth/height is set to screen width/height

Just a few extra questions here.

Is your map rendering?
Have you tried rendering the player sprite using the map’s spritebatch?
I noticed you’re using 2 cameras? Have you tried just the one?

The map is rendering.
The map has no spritebatch?

public MapManager(String mapName, OrthographicCamera cam) {
		this.cam = cam;
		map = new TmxMapLoader().load("maps/" + mapName + ".tmx");
		renderer = new OrthogonalTiledMapRenderer(map);
	}

then in render I use that cam, not sure if that is a problem

I don’t use 2 camera’s. I think MapManager’s cam variable is just a reference.

The map does have a spritebatch ;D if you do

renderer.getBatch()

Ah, I didn’t noticed you passed in the camera through the map constructor. I personally render all my characters using the map spritebatch. Not sure if this is the issue though, seems strange O.o

renderer.getBatch().begin();
renderer.getBatch().draw(sprite here etc);
renderer.getBatch().end();

My renderer doesn’t seem to have a spritebatch. I’m using 1.5.4 I believe

Figured it out, some sketchy error.
I call mapManager.render(batch);
inside mapManager.render();
batch.end();
renderer.setview(cam);
renderer.render();
batch.begin();

That fixed it. No idea what it should be like this though.