AutoSkill 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.
git clone https://github.com/ECNU-ICALK/AutoSkill
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/unity-ramp-detection-and-configuration-system" ~/.claude/skills/ecnu-icalk-autoskill-unity-ramp-detection-and-configuration-system && rm -rf "$T"
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/unity-ramp-detection-and-configuration-system/SKILL.mdUnity 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 (
) to define detection points (e.g., front and back pivots) rather than a single center point.Transform[] rampDetectionPoints - 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:
andTransform[] topTransforms
.Transform[] bottomTransforms - Must include a boolean
to distinguish between straight and curved ramps.isCurved - If
is true, the script must support an array ofisCurved
(minimum 3) to define the curve path. This array should ideally only be visible in the Inspector whenTransform[] middleTransforms
is enabled.isCurved - Must include physics modifiers:
(uphill),float rampBoost
, andfloat downhillBoost
.bool allowRollDownhill - Must calculate the
automatically based on the provided transforms (e.g., vector angle between top and bottom points).rampAngle
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
script and attach it to ramp objects. Configure transforms and properties in the Inspector.Ramp - Create the
script and attach it to the player. Assign the detection point transforms.RampDetection - The
script queries theRampDetection
component on the detected object to access boost values and angles.Ramp
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