godotengine / godotengine/godot

Cannot Access/Modify Debug Arrow of one-way CollisionShape2Ds

Open
#97,565 1 comment 0 reactions 0 assignees View on GitHub
bug enhancement topic:2d topic:editor
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in v4.3.stable.official [77dcf97d8]
- Reproducible in v4.2.stable.official [46dc27791]

### System information

Godot v4.3.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Ti (NVIDIA; 31.0.15.3758) - AMD Ryzen 5 1600 Six-Core Processor (12 Threads)

### Issue description

![image](https://github.com/user-attachments/assets/6c90ef13-a78f-4f1c-bf96-99ada865fde1)

_Visual Description of Image: A blank Godot project with a single StaticBody2D node. It has a single child, a CollisionShape2D. Because the collision shape has the one-way property set to true, the screenshot shows an arrow underneath it. This arrow is highly distorted as a result of the scaling performed on the CollisionShape2D node and the relative size of the RectangleShape2D node._

**Issue description**: Visually, the editor is working as intended. The issue is that I'm making a tool based on StaticBody2D, and I cannot access the arrow polygon or modify it.

This could potentially be considered a feature proposal. But there is a chance that the arrow is not supposed to be drawn this large in any circumstance, so I'm submitting this as a general issue.

### Steps to reproduce

You can use the MRP to see this outcome, but here are the steps to reproduce:

1. Create StaticBody2D and child CollisionShape2D with RectangleShape2D for example
2. In StaticBody2D, enable one-way collision.
3. In CollisionShape2D, specify the scale to ( 300, 20 )
4. In RectangleShape2D, specify the size to ( 1, 1 )

### Minimal reproduction project (MRP)

[MRP.zip](https://github.com/user-attachments/files/17171980/MRP.zip)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the one-way CollisionShape2D setup from the listed steps or the attached MRP, then trace the Godot editor code that draws the debug arrow for one-way collision. Determine whether the arrow should be scaled differently or exposed for tool-based modification; done means the reported distorted arrow behavior is addressed and the result is covered by an appropriate editor check.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.