Si ta RenderTexture prend toute la fenêtre, il n'y a alors aucune raison d'appliquer une vue à ta fenêtre, sinon celle-ci va se retrouver déplacée. C'est à ta RenderTexture que tu dois appliquer la vue qui gère les déplacements etc.
Si tu sais le faire sans RenderTexture, c'est pas plus compliqué de le faire avec une RenderTexture qui prend toute la fenêtre.
Au lieu de tout faire sur ta fenêtre (view, draw, etc.) tu fais TOUT sur ta RenderTexture. Ensuite tu récupères la texture et l'appliques à un sprite que tu dessines (avec ou sans shader) en 0, 0 sur ta fenêtre.
Du coup si tu fais comme j'ai dit, tu te rendras aussi compte que c'est bizarre d'appeler display plein de fois (sans la clear en plus) et de draw plein de fois ton sprite qui représente la RenderTexture, tu ne le faisais pas quand tu utilisais une fenêtre non ?
Schématiquement pour reprendre ton code :
création de la RenderTexture (tu peux le faire qu'une seule fois ailleurs, si tu le fais à chaque fois ça risque d'être lent)
RenderTexture.clear()
RenderTexture.setView(ta caméra)
pour chaque plateforme :
-- RenderTexture.draw(plateforme)
pour chaque perso :
-- RenderTexture.draw(perso)
pour chaque decor :
-- RenderTexture.draw(decor)
RenderTexture.display()
sprite.setTexture(RenderTexture.getTexture())
Fenetre.draw(sprite)
Fentre.display() (éventuellement plus loin)