Hi Cork Emperor,
Have you already compared your code to the Lecture Project Changes which can be found in the Resources of this lecture? And have you already tried to add Debug.Logs to your code to see what is going on during runtime?
In Rick’s game, OnJump gets called because of the user input. If OnJump doesn’t get called anymore in your new levels, please check if the PlayerInput component is still attached to the same game object as your script component. Also see here:
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.11/manual/PlayerInput.html#getting-started
The enemy movement depends on the value of moveSpeed, which is exposed in the Inspector due to the [SerializeField] attribute. If the value is 0 in the Inspector, the enemy won’t move. Of course, the EnemyMovement component must be attached to the enemy in your scene, and it must be active. Whether the relevant code gets called, can easily be checked with Debug.Log.
Did this help you fix the problems? 
See also:
- Forum User Guides : How to apply code formatting within your post
- Forum User Guides : How to mark a topic as solved