Implementation of Quake III "vanilla" and Challenge ProMode Arena (CPMA) strafe jumping mechanics in the Unity engine.
This is a fork that replace UnityEngine.Input to UnityEngine.InputSystem, The Input System package implements a system to use any kind of Input Device to control your Unity content and Camera to Cinemachine suite of tools for creative camera that becoming the standard of Camera Management in Unity, tools that i am using on my project, original scripts created by WiggleWizard. So most of the credit goes to him for porting it over and the port/fork is from the updated version from IsaiahKelly.
So far is already usable on projects, can be look messy or disorganized as i am developing, learning as it goes with InputSystem, so if you have proper feedback you can open issues or request PR. i will gladly read them.
- Cinemachine: 2.7.x
- InputSystem 1.1.0-preview.3
I am using new features that are only available in 1.1.x that replace Input.GetMouseButton/.GetMouseButtonDown/.GetMouseButtonUp to InputSystem ButtonControl.isPressed / ButtonControl.wasPressedThisFrame / ButtonControl.wasReleasedThisFrame
Quake uses a right-handed coordinate system while Unity uses a left-handed one. So coordinate values (X,Y,Z) have been swapped to reflect this difference.
UPS (units per second) is measured in Unity units (meters) and not idTech units.
Default script values emulate Quake III Arena movement with CPM(A) physics.
Demo scene meshes were built with ProBuilder 4.4 so this package must be installed in your project for demo scene to function.