How would I go about keeping my player object moving after a scene change?

I have a scene change in my prototype but every time the second scene is loaded, the player stops moving and you have to repress whichever direction you were holding, How would I keep the player moving in the same direction after a scene change? Should I use PlayerPrefs? Any help would be much appreciated.

Just save the velocity in a PlayerPrefs variable and apply that in your second scene on start

We need to save the data, transition the scene, and then load the data back. This assumes you have placed the same Player object (preferably a Prefabbed First, go to your first scene, and create a new empty Game Object.

If you mean like when you change scene the player is still moving whilst the scene changes and if you change scene and go back the player position will have moved whilst in the other seen, you can’t exactly do that, but there is a way you can kinda replicate it.

You can do this with the Physics.Simulate(Time.deltaTime) function.
what you can do is have a STATIC class that has a STATIC int variable called framesPassed and what you can do is when you reload the seen you can have a function that is called and in that function go

Physics.autoSimulation = false;
for(int i = 0; i < StaticClassFoo.framesPassed; i++) {
    Physics.Simulate(Time.fixedDeltaTime);
}
Physics.autoSimulation = true;

And then while in the other seen constantly add to framesPassed. And to fix the int stacking, every time you load up scene 2, reset the framesPassed to 0.