like SlIavv said, you would have to build it from the ground-up because movement like in apex is a lot more complex than Roblox’s WASD + Jump movement.
If you’re looking for smooth movement, you can use linear interpolation/Lerp to gradually transition the velocity towards the target speed. You will need to somehow keep a constant value of velocity within the character. In apex, if you enable certain HUDs, you can see the constantly updating velocity value of your character when doing things like sliding, jumping, or crouching. By making the primary functions of this movement system, things like air-strafing or tap strafing (probably not walljumping lol) will be by-products of your system.
You will also need certain variables implemented into the system to easily apply modifiers or otherwise tweak your system to perfection. For example, when a movement key is pressed, the velocity gradually increases, and that rate of increase can be affected by the “acceleration” variable.