Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jame581/camera-system
Use when implementing cameras — smooth follow, screen shake, camera zones, and transitions for 2D and 3D
Passed 20 of 22 test cases with the skill, and 19 of 22 without it.
2 fixed18 passed either way1 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
Can you write a Godot 4.3 GDScript Camera2D target follower that includes direction-based lookahead? I'd like a complete node script where I can assign a target Node2D in the inspector, and the camera dynamically shifts ahead of the character's movement path with configurable easing speeds.
| Checked | Without skill | With skill |
|---|---|---|
| Uses _process for camera position updates. | Missed | Passed |
| Sets position_smoothing_enabled to false. | Missed | Passed |
The instructions your model reads when the skill loads.
All examples target Godot 4.3+ with no deprecated APIs. GDScript is shown first, then C#.
Related skills: player-controller for first-person camera setup, state-machine for camera state transitions, godot-optimization for camera culling and performance, physics-system for physics interpolation and camera smoothing, 2d-essentials for canvas layers, parallax scrolling, and coordinate conversion, math-essentials for smoothstep and lerp-based interpolation, tween-animation for camera shake and cinematic transitions, phantom-camera for a Cinemachine-style camera addon.
| Property | Type | Description |
|---|---|---|
position_smoothing_enabled | bool | Enables built-in position smoothing (lerp toward target) |
position_smoothing_speed | float | Speed of built-in smoothing (default 5.0) |
drag_horizontal_enabled | bool | Enables a horizontal drag zone; camera only moves when target exits zone |
drag_vertical_enabled | bool | Enables a vertical drag zone |
limit_left | int | Left pixel boundary — camera will not scroll past this |
limit_right | int | Right pixel boundary |
limit_top | int | Top pixel boundary |
limit_bottom | int | Bottom pixel boundary |
zoom | Vector2 | Zoom level; Vector2(2, 2) = 2× zoom in, Vector2(0.5, 0.5) = zoom out |
Set limits to match your tilemap or level bounds so the camera never shows outside the world. Limits are in world pixels, not tiles.
A manual follow camera gives more control than the built-in smoothing — you can add look-ahead, offset, and custom easing.
extends Camera2D
## Target node to follow (assign in Inspector or via code)
@export var target: Node2D
test cases passed, vs 19 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.