Outliner Sorting and Dragdrop #68502
Open
opened 2019-08-10 12:38:57 +02:00 by William Reynish
·
64 comments
No Branch/Tag Specified
main
blender-v4.4-release
pull-fix-134890
npr-prototype
blender-v3.6-release
blender-v4.2-release
remote-asset-library-monolithic
tmp_libupdate_44
blender-v4.3-release
temp-sculpt-dyntopo
blender-v3.3-release
brush-assets-project
pr-extensions-tidy-space
blender-v4.0-release
universal-scene-description
blender-v4.1-release
blender-v3.6-temp_wmoss_animrig_public
gpencil-next
blender-projects-basics
sculpt-blender
asset-browser-frontend-split
asset-shelf
blender-v3.5-release
blender-v2.93-release
sculpt-dev
bevelv2
xr-dev
v4.2.7
v3.6.21
v4.2.6
v3.6.20
v4.2.5
v3.6.19
v4.3.2
v4.3.1
v4.3.0
v4.2.4
v3.6.18
v4.2.3
v3.6.17
v4.2.2
v3.6.16
v4.2.1
v3.6.15
v4.2.0
v3.6.14
v3.3.21
v3.6.13
v3.3.20
v3.6.12
v3.3.19
v4.1.1
v3.6.11
v3.3.18
v4.1.0
v3.3.17
v3.6.10
v3.6.9
v3.3.16
v3.6.8
v3.6.7
v3.3.14
v4.0.2
v4.0.1
v4.0.0
v3.6.5
v3.3.12
v3.6.4
v3.6.3
v3.3.11
v3.6.2
v3.3.10
v3.6.1
v3.3.9
v3.6.0
v3.3.8
v3.3.7
v2.93.18
v3.5.1
v3.3.6
v2.93.17
v3.5.0
v2.93.16
v3.3.5
v3.3.4
v2.93.15
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78c
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76b
v2.76a
v2.76
v2.76-rc3
v2.76-rc2
v2.76-rc1
v2.75a
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72b
2.72b
v2.72a
v2.72
v2.72-rc1
v2.71
v2.71-rc2
v2.71-rc1
v2.70a
v2.70
v2.70-rc2
v2.70-rc
v2.69
v2.68a
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.61
v2.60a
v2.60
v2.59
v2.58a
v2.58
v2.57b
v2.57a
v2.57
v2.56a
v2.56
v2.55
v2.54
v2.53
v2.52
v2.51
v2.50
v2.49b
v2.49a
v2.49
v2.48a
v2.48
v2.47
v2.46
v2.45
v2.44
v2.43
v2.42a
v2.42
v2.41
v2.40
v2.37a
v2.37
v2.36
v2.35a
v2.35
v2.34
v2.33a
v2.33
v2.32
v2.31a
v2.31
v2.30
v2.28c
v2.28a
v2.28
v2.27
v2.26
v2.25
Labels
Clear labels
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Asset datablocks, libraries, browser and shelf
Interest
Audio
Interest
Automated Testing
Interest
BlendFile
Interest
Blender Asset Bundle
Interest
Code Documentation
Code comments, Python/RNA API descriptions
Interest
Collada
Interest
Compatibility
Backward and forward compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
FBX
FBX I/O related topics
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
USD
Interest
UV Editing
Interest
Undo
Interest
User Interface
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Wayland windowing on Unix
Interest
Workbench
Interest
glTF
glTF format I/O topics
Interest: X11
Xorg/X11 windowing
Legacy
Asset Browser Project
Archived
Legacy
Blender 2.8 Project
Archived
Legacy
Milestone 1: Basic, Local Asset Browser
Archived
Legacy
OpenGL Error
Archived
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Related to security, see policy: https://developer.blender.org/docs/handbook/bug_reports/vulnerability_reports/
Module
Animation & Rigging
Module
Asset System
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
Windows
Platform
macOS
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Archived
Type
Report
Archived
Type
To Do
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Hoshinova
James-McCarthy-4
Sebastian-Herholz
casey-bianco-davis
gandalf3
Blendify Aaron Carlisle
quantimoney Aditya Y Jeppu
Alaska Alaska
angavrilov Alexander Gavrilov
frogstomp Aleš Jelovčan
amelief Amélie Fondevilla
elubie Andrea Weikert
Andy_Goralczyk Andy Goralczyk
ankitm Ankit Meel
Anthony-Roberts Anthony Roberts
antoniov Antonio Vazquez
aras_p Aras Pranckevicius
Arnd Arnd Marijnissen
bartvdbraak Bart van der Braak
mont29 Bastien Montagne
blender-bot Blender Bot
bnagirniak Bogdan Nagirniak
BClark Brad Clark
brecht Brecht Van Lommel
BrianSavery Brian Savery (AMD)
ideasman42 Campbell Barton
CharlesWardlaw Charles Wardlaw
CharlieJolly Charlie Jolly
Chris_Blackbourn Chris Blackbourn
lateasusual Chris Clyne (Lateasusual)
ChrisLend Christoph Lendenfeld
HobbesOS Cian Jinks
fclem Clément Foucault
cmbasnett Colin Basnett
Kdaf Colin Marmond
dfelinto Dalai Felinto
pioverfour Damien Picard
DanielBystedt Daniel Bystedt
pepe-school-land Daniel Martinez Lara
zanqdo Daniel Salazar
Mets Demeter Dzadik
erik85 Erik Abrahamsson
EAW Evan Wilson
filedescriptor Falk David
fsiddi Francesco Siddi
GaiaClary Gaia Clary
DagerD Georgiy Markelov
mano-wii Germano Cavalcante
zazizizou Habib Gahbiche
HooglyBoogly Hans Goudey
Harley Harley Acheson
weasel Henrik D.
Hjalti Hjalti Hjálmarsson
howardt Howard Trickey
nirved-1 Hristo Gueorguiev
mod_moder Iliya Katushenock
brita Inês Almeida
JacquesLucke Jacques Lucke
Jason-Fielder Jason Fielder
JasonSchleifer Jason schleifer
Jebbly Jeffrey Liu
Jeroen-Bakker Jeroen Bakker
deadpin Jesse Yurkovich
neXyon Joerg Mueller
eliphaz John Kiril Swenson
guitargeek Johnny Matthews
Brainzman Jonas Holzman
JoniMercado Jonatan Mercado
JorgeBernalMartinez Jorge Bernal
JosephEagar Joseph Eagar
JoshuaLeung Joshua Leung
Bone-Studio Juan Gea
jpbouza-4 Juan Pablo Bouza
JulianEisel Julian Eisel
JulienDuroure Julien Duroure
JulienKaspar Julien Kaspar
kevindietrich Kévin Dietrich
lone_noel Leon Schittek
LucianoMunoz Luciano Muñoz Sessarego
LukasStockner Lukas Stockner
LukasTonne Lukas Tönne
LunaRood Luna Rood
MaiLavelle Mai Lavelle
EosFoxx Marion Stalke
Baardaap Martijn Versteegh
scorpion81 Martin Felke
mendio Matias Mendiola
Matt-McLin Matt McLin
MetinSeven Metin Seven
wave Michael B Johnson
Michael-Jones Michael Jones (Apple)
makowalski Michael Kowalski
pragma37 Miguel Pozo
nrupsis Nate Rupsis
jesterking Nathan Letwory
nathanvegdahl Nathan Vegdahl
PrototypeNM1 Nicholas Rishel
nickberckley Nika Kutsniashvili
Sirgienko Nikita Sirgienko
OmarEmaraDev Omar Emara
pablovazquez Pablo Vazquez
PaoloAcampora Paolo Acampora
PascalSchon Pascal Schön
pmoursnv Patrick Mours
muxed-reality Peter Kim
lichtwerk Philipp Oeser
P2design Pierrick PICAUT
PratikPB2123 Pratik Borhade
Limarest Ramil Roosileht
farsthary Raul Fernandez Hernandez
LazyDodo Ray molenkamp
iss Richard Antalik
rjg Robert Guetzkow
salipour Sahar A. Kashi
Sayak-Biswas Sayak Biswas
Sean-Kim Sean Kim
sherholz Sebastian Herholz
sebastian_k Sebastian Koenig
ZedDB Sebastian Parborg
sebbas Sebastián Barschkis
Sergey Sergey Sharybin
IRIEShinsuke Shinsuke Irie
sidd017 Siddhartha Jejurkar
SietseB Sietse Brouwer
SimonThommes Simon Thommes
SonnyCampbell_Unity Sonny Campbell
Stefan_Werner Stefan Werner
Lockal Sv. Lockal
dr.sybren Sybren A. Stüvel
ThomasDinges Thomas Dinges
Ton Ton Roosendaal
Vasyl-Pidhirskyi Vasyl Pidhirskyi
WannesMalfait Wannes Malfait
wbmoss_dev Wayde Moss
weizhen Weizhen Huang
leesonw William Leeson
xavierh Xavier Hallade
jenkm Yevgeny Makarov
ChengduLittleA YimingWu
BassamKurdali bassam kurdali
gfxcoder jon denning
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#68502
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently, the way you sort items in the Outliner is rather unclear.
We include this option in the Filter popover:

But when you disable this, you cannot re-order objects manually - instead they are displayed in the order of creation.
Additionally, this toggle only affects objects, not Collections, which are always manually sorted.
We can make this a lot clearer and more consistent, like so.
Dragdrop is also closely related to sorting once we add custom sorting. We draw small black bars between items to indicate a sort dragdrop, and we shade the line dark when dropping into an item. We could improve on this.
Also, it would be good to allow object parenting without the shift modifier key.
Added subscribers: @WilliamReynish, @0o00o0oo, @natecraddock
Added subscriber: @hadrien
Worth noting that currently bones can neither be sorted alphabetically, nor by hand. Would be super cool to have them benefit from all these enhancements, too !
Hadrien
Added subscriber: @simon_lusenc
Added subscriber: @Dogway
Added subscriber: @RainerTrummer
Added subscriber: @machieb
Added subscriber: @adreacooper
Added subscriber: @Cedch
Added subscriber: @TakingFire
Added subscriber: @Oskar3d
Outliner Sortingto Outliner Sorting and DragdropAdded subscriber: @ckohl_art
Added subscriber: @KyleYoungblom
Added subscriber: @Peeeynk
Added subscriber: @thecooper8
Added subscriber: @Delano762
Added subscriber: @JanErik
This feature would be really helpful
Added subscriber: @krisjo01
Added subscriber: @stjerneidioten
Added subscriber: @SayantanChaudhuri
Added subscriber: @YegorSmirnov
Added subscriber: @adambelis
this would iprove UX a lot .
Removed subscriber: @machieb
Added subscriber: @Renderbicks
This is 3 years old and manual sort like possible with Collections would be a very useful feature.
Added subscriber: @somaistaken
Added subscriber: @TheRedWaxPolice
Added subscriber: @Dangry
Added subscriber: @llealloo
This is one of blenders worst remaining UX ticks.
Also, that bones of an armature are not sorted according to the selected sort method (and only strictly adhere to order of creation) seems like a UX bug in its current state
I agree with @llealloo
Has there been any consideration on this issue in recent years?🙈
Having the possibility to freely move and place the objects in the ouliner will for sure improve organization and increase the wokflow efficency. Also when you work with scenes which contains a lot of objects, it would be really helpful to place the objects exactly where you want them instead of thinking about the object naming.
We really need this! As said above, to be able to organize all objects as needed in the outliner will increase workflow efficency and will save alot of time!
Subscribing! Ability to reorder items in Outliner would be a very useful feature
My friends work in Cinema 4D and I want them to be able to move from there to Blender more easily. This feature is extremely necessary!
I agree with the others. this is one of the main disadvantages of blender outliner. It's time to close it
It's a no-brainer to have this implemented.
I'm surprised nobody has hopped on this one- seems like a rather fun / easy-to-squash challenge for a UI dev. Would have a big impact on UX
I'm not so sure
This might be very hard to do, otherwise someone would've done it already
I think you misunderstood. I meant it's a no-brainer that the feature is worthwhile to add in terms of UX.
It could very well be a challenge, but it would be worth it and could lead to even better things in the future if it is setup properly.
And, I highly doubt it is that hard no matter the direction chosen. These are basic principles in programming. I could think of a few ways to structure it:
add a new integer data value to objects in the scene to represent sort order that gets maintained / modified as needed (this seems ideal, because it may lead to neat and already well-understood things down the road i.e. generator objects with ordered children as inputs a-la cinema4d)
or, outliner has its own silo'd database/dictionary of objects and their orders (this seems messier, more work to manage, and holds less value for future potentials)
Alright. And yes, this feature is worthwhile of course and has been requested many times as you can see in this thread..
But still, it seems to be very tough tho. Even the person that worked exclusively in the outliner for the summer of code wasn't able to do it.
@Regnas I am pretty sure that was more of time frame problem, that there simply wasn't enough time to do it (unfortunately).
@krisjo01 Hm, not sure time was the issue. There was gsoc outliner 2019 and 2020. Plenty of time I think.
This was one of the most requested feature, if it was that simple he would've done it.
This year there was the gsoc outliner tree refactoring... I hope that after this, things will be a lot easier to implement. But maybe I'm wrong.
@Regnas looks like both time and the fact that the original implementation plan wasn't the best solution
https://devtalk.blender.org/t/outliner-gsoc-follow-up-feedback/15948/78
Yeah man, like he said "it’s a bigger project"
Looks like we are doomed hahaha...
Hehe yeah unfortunately😅
Thanks for linking the other threads!
Sometimes it takes some time away from a round of initial ideas to let the best plan of attack percolate up to the surface. It has been 2 years since they were discussing this. Maybe it's actually the perfect time for fresh eyes to prevail?
Digging into what they were on previously, it looks like they were going for something akin to the #2 that I mentioned: where sort order data is strictly UI-based / silo'd. This might seem like the easier option for a quick fix that doesn't disturb other structures, but it actually becomes a bigger project for the same reason.
It is worth not limiting it to UI only. Ordered data can be almost immediately useful pretty much everywhere. Now there are new workflows (like geometry nodes) which might benefit from an indexed child input, as well the python api. The list goes on.
Adding an integer value to describe sort order into the object dataset is not that big of a project. I hope someone considers taking it up.
Yes, really hope it won't be another 2 years before we see this added to Blender 😅
@llealloo Sounds like a good idea for a plug in ;-)
@llealloo Sounds like a good idea for an add-on ;-)
Rendering this type of functionality into a plugin or add-on would be hokey at best. If implemented, this should be part of the fabric of Blender itself.
@llealloo Didn't mean to post that twice. Fair enough, I have no idea how programing works, unfortunately. But I've been waiting for this one for years!
Could you pls stop spamming in this develompent thread, its not the right place.
Many people know that this would be an useful addition to the outliner and waiting for such a feature for years.
The outliner code is very messy right now. You could all take a look at the C/C++ code yourself.
But there is an ongoing effort to make the whole outliner code more object oriented. Also see here
I think this would also facilitate the development of new outliner features like this.
And there is also the problem of available developer time. So I guess we have to be patient.
It is needed to be able to freely sort objects in the outliner. We shouldn't have to add a collection to give us the ability to set the order.
Using Photoshop, Affinity Photo / Designer, Unreal and many other since years, every program has this functionallity and it feels naturally to sort by our own preferences.
This missing feature in blender is really needed and it is frustrating to see, that this thread exists since 5 years.
Why has this till not been added? Is there anthing blocking design wise?
@DanGry It seems that somebody work since 2 (two!) years on an update. This part of code must be incredible.
I wonder, why they not just implement a new outliner, instead of fixing this old complex code, that obvious is really hard to maintain.
Custom sorting is really needed, please consider this. Especially when used in non English environment, it is very hard to place meaningful names together.
I hope a dev can find the time to knock this one out.
It is perhaps one of the top 5 most glaring UX oddities coming from any other DCC to blender.
Simply need to be able to sort items in the Outliner by drag&drop to reorder (creating a collection wrapper is a stop-gap, but adds unnecessary complication)
Basic manual sorting instead of sorting by added time will be good enough
It is very unfortunate that this feature is still not supported. If this functionality is not properly implemented, I will have to waste unnecessary time renaming objects every time. I sincerely hope this feature will be added soon.
This is unusual behaviour. When you uncheck the sort alphabetically option it should just let you drag them around like you are able to with collections.
This really needs to be implemented soon.
This would make organizing my blender files so much easier.