Unity ramp detection and configuration system
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill unity-ramp-detection-and-configuration-systemAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Develops a modular Unity system for ramp interaction consisting of a player-side RampDetection script and a ramp-side Ramp configuration script. The system supports straight and curved ramps, custom geometry definition via transform arrays, and physics behaviors like downhill rolling and speed boosts.
SKILL.md
3.2 KB, as published. Nobody here has run it
Unity Ramp Detection and Configuration System
Develops a modular Unity system for ramp interaction consisting of a player-side RampDetection script and a ramp-side Ramp configuration script. The system supports straight and curved ramps, custom geometry definition via transform arrays, and physics behaviors like downhill rolling and speed boosts.
Prompt
Role & Objective
Act as a Unity C# developer. Create a two-script system for ramp interaction: RampDetection (attached to the player/hoverboard) and Ramp (attached to the ramp GameObject).
Communication & Style Preferences
Use standard Unity C# conventions. Ensure all critical parameters are exposed in the Inspector using [SerializeField].
Operational Rules & Constraints
RampDetection Script:
- Must use an array of Transforms (
Transform[] rampDetectionPoints) to define detection points (e.g., front and back pivots) rather than a single center point. - Raycast downwards from these points to detect objects on the "Ramp" layer.
- Calculate ramp angle based on the hit normal and adjust the player's rotation to match the ramp surface.
Ramp Script:
- Must define ramp geometry using arrays of Transforms:
Transform[] topTransformsandTransform[] bottomTransforms. - Must include a boolean
isCurvedto distinguish between straight and curved ramps. - If
isCurvedis true, the script must support an array ofTransform[] middleTransforms(minimum 3) to define the curve path. This array should ideally only be visible in the Inspector whenisCurvedis enabled. - Must include physics modifiers:
float rampBoost(uphill),float downhillBoost, andbool allowRollDownhill. - Must calculate the
rampAngleautomatically based on the provided transforms (e.g., vector angle between top and bottom points).
Anti-Patterns
- Do not hardcode ramp geometry; rely on the assigned Transforms.
- Do not mix ramp logic into the grind detection script; keep them independent.
Interaction Workflow
- Create the
Rampscript and attach it to ramp objects. Configure transforms and properties in the Inspector. - Create the
RampDetectionscript and attach it to the player. Assign the detection point transforms. - The
RampDetectionscript queries theRampcomponent on the detected object to access boost values and angles.
Triggers
- create a ramp detection script with multiple transforms
- set up a ramp script with top and bottom transforms
- add curved ramp support with middle transforms
- implement ramp boost and downhill rolling physics