Search Issue Tracker
Fixed in 2019.3.X
Votes
11
Found in
2018.3.0b5
Issue ID
1090438
Regression
No
Edit Collider needs to be clicked every time after making any small change to the collider when editing in the Prefab mode
How to reproduce:
1. Open the attached project
2. Double click a prefab "Object" in the Project window to enter the Prefab mode
3. Go to Inspector window -> Polygon Collider 2D -> select Edit Collider
4. Edit collider in the Scene view
Expected: Edit Collider selection allows multiple changes to the collider
Actual: Edit Collider needs to be clicked every time after making any small change to the collider
Reproduced on: 2018.2.0x-Improved Prefabs, 2018.3.0b6, 2019.1.0a5
Note: Couldn't test on earlier versions because the feature was introduced in 2018.3
Comments (15)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Sprites are cut off when using a custom alpha mask with a custom shader
- Screen.SetResolution() ignores width and height parameters when switching from Fullscreen to Windowed mode
- Crash on il2cpp::vm::Class::Init in the Player when handling FileNotFoundException in cascading catch blocks in async method
- Mesh with vertex animation shader renders incorrectly when using DirectX11 and AMD GPU
- Select Dependencies context menu doesn't work properly in Project Browser
Creareyou
Dec 28, 2024 01:56
As a newcomer, I find this issue quite significant for workflow efficiency. Having to repeatedly click "Edit Collider" for every minor adjustment in Prefab mode can disrupt the editing process and slow down development, especially when working on complex shapes. It would be great if the "Edit Collider" option could remain active until manually deselected, allowing for multiple edits in one session. This change would make the feature more intuitive and user-friendly. It's good to see such feedback being raised, as improvements in usability have a huge impact on productivity. Looking forward to seeing this resolved in future updates!
Rolaif
Dec 20, 2023 07:02
This seems not to be fixed.
At least not for me.
Using Unity 2019.2.0f.
rolaif.com
PSV611
Feb 04, 2020 18:55
Just started happening to me. I edited my collider with no issue when I created it, but now I can't edit it without having to open the editor again every single time I move a point.
Lucas_RUST
Sep 10, 2019 21:30
Seems to still be present in 2019.2.4f1
Erwin-j
Aug 15, 2019 18:59
This seems not to be fixed.
At least not for me.
Using Unity 2019.2.0f.
sssetz
Jun 26, 2019 18:47
If you turn off "Auto Save" this doesnt happen.
wallazz
Apr 07, 2019 01:12
Is there any way to edit comments? xD
My solution below requires LinQ, null propagation
wallazz
Apr 07, 2019 01:11
Here's an edited version that works with polygoncollider2d. It seems that PolygonCollider2DEditor has to be set to edit mode in the next "frame" rather than when its exit mode ended.
[InitializeOnLoadMethod]
public static void InitLoad()
{
EditMode.onEditModeEndDelegate -= Collider2DEditModeFixer;
EditMode.onEditModeEndDelegate += Collider2DEditModeFixer;
}
static void Collider2DEditModeFixer(Editor editor)
{
if (EditMode.editMode == EditMode.SceneViewEditMode.Collider || EditMode.IsOwner(editor)) return;
var sel = Selection.activeGameObject;
var cols = sel?.GetComponents<Collider2D>();
if (cols == null || cols.Length == 0) return;
var t = editor.target as Collider2D;
if (t != null && (cols?.Contains(t) ?? false))
{
EditorApplication.delayCall += () => EditMode.ChangeEditMode(EditMode.SceneViewEditMode.Collider, t.bounds, editor);
}
}
wallazz
Apr 07, 2019 00:48
I created an automated fix for this. Sometimes i have multiple colliders in the same object so choosing just the first editor to edit won't work.
The only downside is that if you want to exit the collider edit mode you have to select another object.
[InitializeOnLoadMethod]
public static void InitLoad()
{
EditMode.onEditModeEndDelegate -= Collider2DEditModeFixer;
EditMode.onEditModeEndDelegate += Collider2DEditModeFixer;
}
static void Collider2DEditModeFixer(Editor editor)
{
var sel = Selection.activeGameObject;
var cols = sel?.GetComponents<Collider2D>();
var t = editor.target as Collider2D;
if (t != null && cols.Contains(t))
{
EditMode.ChangeEditMode(EditMode.SceneViewEditMode.Collider, t.bounds, editor);
}
}
NecroJack
Apr 02, 2019 13:10
I guess you do know the workaround, but anyways: editing an GameObject's collider in the scene, will not quit "Edit Collider" mode.
Also, I composed a plugin/Script for working in Prefab Editor, (works by hitting Shift+E on every change... xD .. better than nothing!), with some code I found in stack-overflow :
----------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class MenuItems
{
[MenuItem("BugFixes/Edit Collider Mode #_e")] // This is Shift + e
private static void EditCollider()
{
var sel = Selection.activeGameObject; if(!sel) return;
var col = sel.GetComponent<Collider2D>(); if (!col) return;
if (UnityEditorInternal.EditMode.editMode == UnityEditorInternal.EditMode.SceneViewEditMode.Collider)
UnityEditorInternal.EditMode.ChangeEditMode(UnityEditorInternal.EditMode.SceneViewEditMode.None, new Bounds(), null);
else
{
System.Type colliderEditorBase = System.Type.GetType("UnityEditor.ColliderEditorBase,UnityEditor.dll");
Editor[] colliderEditors = Resources.FindObjectsOfTypeAll(colliderEditorBase) as Editor[];
if (colliderEditors == null || colliderEditors.Length <= 0) return;
UnityEditorInternal.EditMode.ChangeEditMode(UnityEditorInternal.EditMode.SceneViewEditMode.Collider, col.bounds, colliderEditors[0]);
}
Debug.Log("EditMode: " + UnityEditorInternal.EditMode.editMode);
}
}
----------------------------------
The link from which I found most of the code (ready) is this one:
https://forum.unity.com/threads/creating-a-hotkey-to-get-into-edit-collider-mode.474706/
So, most credits go to him.
P.S.: "Place in a folder called 'Editor' in order to work as a plugin", that's what I did, and it worked.