A mostly-faithful port of the movement from GoldSrc games like Half-Life and Counter-Strike 1.6 to Godot.
- Q_Move by Btan2
- Godot-Math-Lib by sinewave
- Open your Godot project.
- Copy the "addons" folder from this repository into the project folder for your Godot project.
- Enable "GoldSrc Character Controller" in your project's addon page.
- Reload your project.
- Drop the "Player" scene into whatever other scenes you need it in.
I heavily recommend using Godot Jolt for the physics engine, but this add-on should still work with the default Godot Physics if you so choose.
GoldGdt has pre-defined inputs that it is programmed around. Unless you want to go into the code and change them to your own input mappings, I recommend recreating these inputs in your Project Settings, binding them to whatever you see fit.
All bundled components require a reference to an Entity Config resource, which contains things like speed, acceleration, etc...
You can create a new Entity Config resource by right clicking in your FileSystem, opening up the Create New Resource window, and creating a new Entity Config resource.
Everything is self explanatory, but anything categorized as "Engine Dependant" must be in meters. If you want to convert speed from GoldSrc to Godot, remember that GoldSrc roughly measures units in inches.

