Add collision presets to make combination of Layers & Masks
### Problem or limitation Godot lets us name collision layers in Project Settings, but day to day work is still mostly about manually ticking layer and mask bits on every `CollisionObject2D/3D`, then redoing the same setup across many scenes and nodes. In medium to large projects this becomes: - Error prone (wrong mask bit, forgotten bit, inconsistent conventions between team members) - Hard to refactor (changing "Player interacts with X" means hunting many nodes) - Annoying for gameplay code too (raycasts and queries still rely on bitmask ints and duplicated helper code) ### Proposed improvement Add **named collision presets** (like Unreal's collision presets), where a preset is: - `name: StringName` - `id`: int - `collision_layer: uint32` - `collision_mask: uint32` Then you can assign a preset to any `CollisionObject2D/3D` via a dropdown, instead of hand editing bits each time. A working reference for the workflow already exists as an editor plugin:\ https://github.com/Adrien-Lucas/godot-collision-presets/ ------------------------------------------------------------------------ ### Data model and storage - Add a project level list of presets, stored in `ProjectSettings`, for example: - `physics/common/collision_presets` (Array of Dictionaries or a dedicated internal type) - `physics/common/default_collision_preset` (StringName) This keeps it version control friendly and avoids per user editor state. ### Edi
Posted by Adrien-Lucas on Feb 24, 2026, 2:15 PM
Tags
Related issues
- This is the biggest problem with contracts, there's simply no way to actually say "please always execute this check".
- I don't disagree with you on this, I worked my whole life in corporate and haven't worked as a OSS maintainer before, though I will _and ...
- the new VSCode UI, looks cute, i don't like it.
- I've been working on my own private harness for the past 8 months, and I've been collecting ideas from such repos I've stumbled upon.
- The way AI is able to interact with outside resources is pretty impressive, but the quality of code it produces to me is still questionab...
- Add PR-style review comments in Git Diff UI that feed into the active agent thread
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
ux (Software)
This is the biggest problem with contracts, there's simply no way to actually say "please always execute this check".
I don't disagree with you on this, I worked my whole life in corporate and haven't worked as a OSS maintainer before, though I will _and ...
the new VSCode UI, looks cute, i don't like it.
I've been working on my own private harness for the past 8 months, and I've been collecting ideas from such repos I've stumbled upon.
The way AI is able to interact with outside resources is pretty impressive, but the quality of code it produces to me is still questionab...
Add PR-style review comments in Git Diff UI that feed into the active agent thread
Thanks for indulging me so far, by the way, I really appreciate this discussion, it's very stimulating.
Migrate GDScript to the GDExtension mechanism and overhaul the implementation
Add collision presets to make combination of Layers & Masks
### Problem or limitation Godot lets us name collision layers in Project Settings, but day to day work is still mostly about manually ticking layer and mask bits on every `CollisionObject2D/3D`, then redoing the same setup across many scenes and nodes. In medium to large projects this becomes: - Error prone (wrong mask bit, forgotten bit, inconsistent conventions between team members) - Hard to refactor (changing "Player interacts with X" means hunting many nodes) - Annoying for gameplay code too (raycasts and queries still rely on bitmask ints and duplicated helper code) ### Proposed improvement Add **named collision presets** (like Unreal's collision presets), where a preset is: - `name: StringName` - `id`: int - `collision_layer: uint32` - `collision_mask: uint32` Then you can assign a preset to any `CollisionObject2D/3D` via a dropdown, instead of hand editing bits each time. A working reference for the workflow already exists as an editor plugin:\ https://github.com/Adrien-Lucas/godot-collision-presets/ ------------------------------------------------------------------------ ### Data model and storage - Add a project level list of presets, stored in `ProjectSettings`, for example: - `physics/common/collision_presets` (Array of Dictionaries or a dedicated internal type) - `physics/common/default_collision_preset` (StringName) This keeps it version control friendly and avoids per user editor state. ### Edi
Comments (0)
No comments yet. Start the discussion.