Shrimple Character Controller
LibraryA shrimple yet versatile character controller/move helper that performs great
Shrimple Character Controller
A shrimple yet versatile Character Controller/Move Helper that performs great.
Performs 60%-200% better than standard Character Controller.
You can find example scenes for the Walker, Roller, and Flyer here: Controller Example Scenes
Made from scratch using the classic Collide and Slide method.
For any issues please report them here: Github Issues
How to use
You can find code examples for the Walker, Roller, and Flyer here: Example Controllers
It all boils down to:
You'll have to call .Move() only if your Controller options "Manual Update" is set to true. Otherwise you can set it to false and it will always be simulated.
You are also able to manually update the GameObject's transform rather than letting the Controller do it:
| Rank | Player | Score | Recorded |
|---|---|---|---|
|
refresh
Discovering package leaderboards...
|
|||
- Physical mode!!!
- Custom gravity support.
- Capsule tracing for physical controllers and whatnot.
- Ground detection and sticking on slopes, ramps, and stairs.
- Stair traversal and step handling.
- Unstuck handling.
- Trace performance.
- Component creation and destruction.
- Moving platform and stuff.
- Vertical velocity loss on slopes.
- Ramp landing and ground sticking issues.
- Ground tracing and surface detection edge cases.
- Slipping on non-standable ground.
- Cylinder center and collider bounds.
- Added Shrimple Walker preset
- Added Shrimple Flyer preset
- Added "Stick to Platform" on GroundStick feature, sticks to platforms and moving objects when you're on top of them
- Added "Apply Surface Velocity" on GroundStick feature, for conveyor belts and such
- Added "IsOnPlatform" "PlatformVelocity" "SurfaceVelocity" "GroundVelocity" properties
- Added Bounds trace shape, can use it for offset bbox or rectangle shapes
- Added experimental "Physical" feature, will get back to it but it's very buggy
- Added animations to the walker example since CitizenAnimationHelper doesn't work in libraries
- Clamp Acceleration and Deceleration curves values to 0->1 and locked them to make it clearer how they work
- Punch() now applies ground, platform, and surface velocities
- Fixed bug where you sometimes lose velocity over non 90° steps - Wasn't normalizing gravity to find the stepup direction before projecting so it would give you massive negative z velocity
- Physical feature is very untested, keeps snagging, I'll come back to it later but it's too much of a headache
- Added new trace shape: "Sphere", which only uses the "Trace Width";
- Added "Vertical Elasticity" and "Horizontal Elasticity", so your controller can now bounce against surfaces;
- Added "Include Ground Elasticity" to take the surface's elasticity into account;
- Added "Elasticity Threshold" to ignore bounces at low speeds;
- Added "Acceleration" feature, can now disable it to instantly reach the wish velocity;
- Added "Acceleration" and "Deceleration" Curve options, so you can tweak and accelerate slowly or decelerate faster at small speeds;
- Added "Fixed Acceleration" and "Fixed Deceleration" option, which is how it's always behaved so far;
- Added "OnCollide" event which returns "ShrimpleCollisionResult" whenever the controller collides with something, comes with a lot of useful data such as the velocity before and after impact, the angle, normal, object, position etc;
- Added Shrimple Roller preset to the right click->create menu, we're planning on making more presets in the future.
- MoveHelperResult's Velocity now returns the current velocity instead of just the difference between positions, which would cause useless bounces;
- GroundAcceleration/Deceleration can still be used even with GroundStick disabled (It already happened but you couldn't edit it).
- Updated all the obsolete attributes to remove warnings in console.
- Old gravity upgrader, didn't actually do anything;
- "Cylinder Trace" boolean has been removed, replaced with "Trace Shape" enum to allow the new Sphere option. This update comes with an upgrader for this.
- Sphere traces cannot properly detect steps as the curved surface hits with the step's edge rather than the face.
This file manifest and asset metadata are retrieved live directly from the official Facepunch s&box public API. s&box Explorer does not host, store, or redistribute any package files. All download links route directly to Facepunch CDN servers.