Decoupling x-ray and limit selection to visible

Yes, for almost 3 months now :frowning:

1 Like

I am surprise this thing still not implemented yet !
any software maya modo etc… they give us freedom to select from behind or from x-ray.
what I notice sometimes the developer say false information like “Why?” x-ray better, more pro etc… and when I asked in blender day they just read it and said use xray !!
sorry who the hell tell you this “xray” more pro ?
Iam professional artist I do most of my time modeling and I never use X-ray during my modeling in Maya
when I start using blender each time I need to select from behind I must use Xray serious…
so now to finish prop in maya took 1hour
but in blender it will be 3 hours … you get the idea
not all of us use modifier not all of us use Xray but give us freedom to choose we didn’t ask to remove it .
all the members here wants this features because they are professional they use it daily in modeling.

Select hidden geo without xray display:

Option to select (face,edge,vertex) behind object


This Addon helps ALOT with this, but still not ideal. I agree, proper backfacing/selection through is still needed and better ways to customize/display that.

But maybe this will help some people in the meantime.

Eidt: I should mention, he also made it work so you DON"T have to select face centers! You can select even on the edges and it works! :slight_smile:

1 Like

I must agree with @LudvikKoutny here. Having to constatnly switch between X-Ray+Wireframe and Solid modes is annoying and takes unnecessary time during modeling.
I’d gladly welcome backface selection enabled on a fully opaque mesh with no face centers as an option.


Just want to chime in with my frustration with this. The old system pre-2.8, with the “limit selection to visible” worked just fine, can we please just get that button back? Basic modelling tasks are taking me so much longer in the new versions. I mentioned this issue to my friend who mainly uses Maya and it blew his mind.


2.90 roadmap is out, and of course still no fix for the xray selection problem in sight:

1 Like

This week I uploaded Benjamin’s custom Blender build to dropbox for an easier download, because another Blender user asked me to. He loves it.

If anyone wants to grab it, the link is above. Just be aware this was done with an early 2.82 beta, so some scripts that work for the official release may not behave the same here.

More info about the build:


Just registered and posting here first time to give a little poke. This is giving me and many others quite some problems.


Thanks a lot for the link to the source changes for this, got it working for 2.83. Only one difference needed, far as I can tell anyways, it’s here:

Line 448, ‘ar’ has been changed to ‘region’

One thing I’m trying to figure out is how to get a select through option showing up in the keymap. That way I can just add an entry under selectbox for it and alt-drag to select visible, alt-shift drag to extend visible, alt-ctrl drag to exclude visible.

I figured it would just show up there once it was added to tool settings, but I don’t see it.

Anybody know how to add this to the keymap?

1 Like

The only person I can think of that could know more about this is @kio , the original patch modder. How about it Benjamin?

If we can get this working on the official 2.83 release, I am downloading that build faster than a slap to the knee!

Yeah it works in 2.83, I just want to make it a little more convenient.

At the moment you have to go into tool settings and click it on and off. Once I figure out how (or someone shows me how) to add that part into the keymap, we’d be able to map it to whatever we want.

To get it working just go through all the scripts at the end of that link

I found it easier by clicking the ‘view options’ and choosing ‘view standalone’

It will show you each script and where it’s located. The original is on the left, and the new one on the right. Green stuff on the right is additions, red stuff on the left is subtractions. Just have that one change to the iterators script that I pointed out.

Everything else is fine, but most of it is on different lines.

Best I can think of right now is to make a custom operator in python that basically just “clicks” that checkbox for you, but I was thinking more along the lines of having it in the keymap where you can map it to a modifier the same way you do the different modes like extend, subtract, intersect, etc

looks promising

Yeah, sure enough, adding that will put a “select through” checkbox under “wait for input” but at the moment it doesn’t actually do anything. Now to figure out where to put stuff so it connects up with it like it should.

Ok so the guy who actually did all the work on this says
“The setting itself is setup as a toolsetting and not as an operator property, mostly because it was easier for me to access it in the draw code (needed do decide if we draw the facedots in xray mode).”

I’m noticing stuff saying
if (blablabla)… ts->mesh_select_through

So yeah this will probably require some actual work. Going to go through this and hope for the best. Not expecting much though honestly, don’t know much about this stuff.

this is where you can add a select through property in
void WM_operator_properties_border

under wait for input

prop = RNA_def_boolean(ot->srna, “mesh_select_through”, true, “Select Through”, “”);
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);

it will add a checkbox for select through in the keymap, where I want it to be, but it needs more to do stuff.

I think it will work like I want if I make it check for this property in the relevant parts of view3d_select.c where it currently checks for ts->mesh_select_through (the tool setting of select through)

I don’t know how to do that. How to make something check for a property in another script? I wish there was something like a cheatsheet for doing this. You know, what magic words to say and which Include stuff to throw at it. Going to fumble around some and figure it out one way or another. How hard could it be? :roll_eyes:

I rarely ever need it to click it off, so I don’t mind not having a keymap for now. If you made this work with the official 2.83 LTS release, could you please upload the build somewhere like I did to DB, so that others (including myself) can get this more easily?

I’m joining and supporting this too! I don’t understand why having “face dots selection” and “select through” as an option would harm Blender: also right-click select was a die-hard design choice, still we had the option to change it, and with the new implementation in 2.8, it actually became a default option. This is not for saying that we should change what Blender consider its strenghts, but giving the possibility to the user to choose is one of the most valuable things in software.

If on one hand face dot selection can be more precise and accurate, on the other hand it’s a quite rigid and restrictive way of selection, and ultimately slows down the modelling process: how many times did you have to click again on a face that you assumed you selected, because you clicked too far from the center?

Regarding “Select throught”, there are many cases, especially when modelling in ortographic views, where the user just needs to quicly select an amount of vertices or edges that are on the same axis: as it has been noted previously, these are cases where the user knows its model, therefore knows also how to obtain a specific selection result without the need of visual indication.


That should be good, only testing was confirm that select through is there and cuda/optix are in system options. So let me know if anything is weird or missing.

Getting closer with the keymap, it builds, doesn’t crash, but it thinks it’s on regardless. So something funny with the checking if it’s true/false in the keymap. Few more days I’m thinking. I wasn’t expecting much the other day, and it’s what I thought. Not just a copy/paste and it works, gotta look around at different stuff, trial and error. Thanks to jesterKing I am using a debugger now, at least with my learn-on-the-fly understanding of what’s going on.

1 Like

Thanks for uploading this. I only briefly opened it up and did a few selections on a primitive.

1-Seems to be working alright - am i correct in saying that face/edge centers has been turned off too when in XRay mode?

2-The .7z you uploaded has a lot of things inside. If I only want to have the necessary things to run this executable, I can just extract the “Release” folder (root>bin>Release), correct?

Blender 2.83.1 - Select Through Keymap with Xray Facedots Tool Setting

Ok here’s a link to the weird version as described below. Might be useful so I put it up there. Going to go through and get rid of whatever isn’t needed for the keymap to function. Will update when it’s done. Got rid of the obnoxious ‘I’m a dropbox link’ so I can see if anybody is even checking these builds out.

old stuff below

If it’s acting different than before as far as face and edge centers I’ll go back through it again. Maybe missed something when setting it back to what it was before I started messing with it.

And yeah I tried extracting bin/release by itself and it works fine. I just assumed all of it was needed.

Ok I went through it from scratch and see a difference. In the weird one I don’t get facedots in xray when disabling select_through.

In the one I just did, facedots will show in xray if select_through is off. They will disappear when you turn select_through on. I’ll reupload (without all the solution stuff it spits out thanks for making me aware of that btw) and update the link in my earlier post.

Got everything working with the keymap. I left the Toolsetting for Select Through there, and renamed it Xray Face Dots because it still functions as a weird halfway version of facedots. I’ll post a build with this feature for anybody that wants to see what it’s like. Don’t care for face dots at all personally, but if you want to see facedots in xray view but not in normal view, I guess it’s useful to not have to go back and forth turning them on/off all the time. Could be written to do it the other way around, or have both options in there. The issue I have with it, at least the way it’s written right now, is it overrides the Overlay option for Face Centers, so it could definitely be annoying if you forget that you need to go into either box, circle, or lasso select tool options to turn the ‘feature’ off.

Anyways, the main point. There’s a checkbox in the keymap for box, lasso, and circle select called ‘Mesh Select Through’. It’s on by default. What I did this for was the ability to either select visible or select through without turning things on and off in Tool Settings. I add another set of keymap items for box circle and lasso select. Personally using alt, alt-ctrl, and alt-shift for a Select-Through version of the default Select-Visible. Both are at your disposal all the time, just move your thumb over to the alt key, assuming you don’t have that mapped to something else already.

The idea is it’s up to you. I’m sure the real Blender devs will figure all this out eventually, and maybe even let us know any improvements / stability issues that should be done with this set of modifications. In the meantime, I’ll build two versions, one with the weird facedots toolsetting, and one with just whats needed to get the keymap.

Let me know any of any issues. I’ll update everything for 2.83.2 and 2.83.3 when they happen.


Adding my voice to the requests to make select through/select visible only toggle option. I’ve been using Blender since 2.8 beta, but come from 3ds Max background. 9 times out of 10 I need to select through geometry, so modeling process becomes this weird dance of toggling x-ray on and off constantly. Sometimes I forget that non-visible verts are not selectable and only notice the mistake later, which only adds more stupid work.
I understand that there are different points of view on this matter, and there is an opposing camp. That’s why it should be togglable or customizable, like right or left click select.

Topic of those weird center dots in x-ray mode was also raised in this discussion, that I would also very very much prefer to be able to select all polygons that are touched by the selection box/lasso instead of having to aim for the dots. Other 3d modeling packages usually solve this issue by adding options like “select only polys that are entirely inside selection bounds” or “select everything that touches the bounds” to the select tool.

And a bit off-topic, but also I very much miss Max’s logic of making only selected object semi-transparent when using x-ray. Extremely useful when fitting modular pieces together, or when needing reference objects, like during retopo.


The build I made in the post above lets you select faces without touching the dots. At least in box/circle/lasso.

Trying to get an idea for single click somewhere on the face to select it, that isn’t a facedot. But it’s one of those things where I keep asking myself “Why would I even be in xray mode, trying to single-click select a face on the other side of my mesh?” I’d either turn off xray and rotate camera to the other side, or deal with facedots.

Also I take it back as far as that one being ‘weird’ with the Xray Facedots Tool Setting. I forgot that normal Blender actually forces them on you when going into xray. So basically a happy accident/leftover from the toolsettings version where you can at least turn them off when you want.

I don’t like the placement of it in Tool Settings. I’ll see about putting it into overlay dropdown or something more accessible than the tool settings of a specific set of selection tools.

I’m curious how hard it would be to figure out Xray for active object only. No idea where to do that but I feel obligated to check it out. Never would have thought somebody had already gotten Select-Through working and I could get it into keymap. Shoutout to @kio thanks a million

When I’m all done messing around I’m planning on making a thread with some videos that will walk people through the process of building blender, and how to modify the source. Stuff I’ve changed (with a lot of help) is cursor appearance, single-click selection radius, add an alternative camera zoom speed, turning off header highlights, making custom icons and gui layouts, repeat history that just invokes the tool rather than doing every action, modify these select through scripts, and probably something else I’m forgetting. That way people can just do it themselves exactly the way they want without relying on someone else building it for them. Plus I get a bit in return, people can tell me how wrong I’m doing stuff and I can get some tips on other things I can do.


Why is this still not addressed? It’s one of the longest feature request threads of this forum section, and 2.90 is around the corner, yet silence everywhere. I’ve been using Blender for almost 3 years now and I am still not near the efficiency of my previous modeling software simply because of this solitary issue.

It’s just an incredible source of frustration on daily basis. Constantly playing the Find Waldo game with face dots for each face if I want to select them, and pressing myself to death with Xray button toggle because I want to see the object I am working on clearly but be able to select through at the same time. Add the horror of the selection method constantly changing between face are and face dots and you have perfect conditions for hell. Satan himself would be jealous.

This is a prime example of a single unfixed design flaw can turn someones daily joy of work into daily misery.


I did not notice the link with the compiled patch from you. Thank you so much man! You’ve saved my sanity! I no longer have to spend ages wrangling the xray and changing selection in face an edge mode. I can finally model quickly and do simple things like this knowing that my selection will always be reliable and I don’t have to press anything:

It’s still quite shocking such basic things are impossible to do in vanilla Blender.

It’s just so much fun being able to do absolutely essential modeling tasks fluidly and seamlessly without constantly mis-selecting stuff, squiting to find positions of face dots before actually selecting faces or having to pick between being able to select or being able to see my model cleanly without transparent overlay:

Seriously. This just goes to show what a BS nonsense the “you can only select what you see” mantra is.