# How to find objects without UV

**URL:** <https://blenderartists.org/t/how-to-find-objects-without-uv/1146229>\
**Category:** Materials and Textures\
**Tags:** add-ons, blender2-80, texturing\
**Created:** [February 8, 2019, 12:23pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229 "2019-02-08T12:23:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bestelix](https://blenderartists.org/user_avatar/blenderartists.org/bestelix/32/1084923_2.png) [@bestelix](https://blenderartists.org/u/bestelix)\
**Post date:** [February 8, 2019, 12:23pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/1 "2019-02-08T12:23:03Z")

</div>

I have a scene with hundreds of objects and even if I started by unwrapping multiple objects groups at once and packed them in the same tiles, sometimes there are parts that I failed to select.  
Is there a way to identify or select the objects left without UV?  
Ideally I’d look for a filter in Outliner but I don’t see it. Blender 2.8

---

<div class="post-metadata">

**Author:** ![anon95228951](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/85f322/32.png) [@anon95228951](https://blenderartists.org/u/anon95228951)\
**Post date:** [February 8, 2019, 12:45pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/2 "2019-02-08T12:45:38Z")

</div>

If you execute this it will select all mesh objects that don’t have UV data.

```auto
import bpy

bpy.ops.object.select_all(action='DESELECT')
mesh_objects = [o for o in bpy.context.scene.objects if o.type == 'MESH']
for o in mesh_objects:
    if not o.data.uv_textures:
        o.select = True

```

---

<div class="post-metadata">

**Author:** ![bestelix](https://blenderartists.org/user_avatar/blenderartists.org/bestelix/32/1084923_2.png) [@bestelix](https://blenderartists.org/u/bestelix)\
**Post date:** [February 8, 2019, 12:53pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/3 "2019-02-08T12:53:59Z")

</div>

Thanks but I get “Python script fail, look in the console for now…”. There is nothing in Python console.

---

<div class="post-metadata">

**Author:** ![anon95228951](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/85f322/32.png) [@anon95228951](https://blenderartists.org/u/anon95228951)\
**Post date:** [February 8, 2019, 1:02pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/4 "2019-02-08T13:02:45Z")

</div>

Forgot about 2.8 changes. This should work.

```auto
import bpy

bpy.ops.object.select_all(action='DESELECT')
mesh_objects = [o for o in bpy.context.scene.objects if o.type == 'MESH']
for o in mesh_objects:
    if not o.data.uv_layers:
        o.select_set(True)

```

btw, the error in console being referred to is the ‘System Console’ (under the window menu on windows, or terminal on linux).

---

<div class="post-metadata">

**Author:** ![bestelix](https://blenderartists.org/user_avatar/blenderartists.org/bestelix/32/1084923_2.png) [@bestelix](https://blenderartists.org/u/bestelix)\
**Post date:** [February 8, 2019, 1:23pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/5 "2019-02-08T13:23:16Z")

</div>

Excellent! Thank you. I imagine that I can use this for all sorts of filtering, for example meshes with multiple material slots. Some day I need to dive into the Matrix 🙂

---

<div class="post-metadata">

**Author:** ![sundialsvc4](https://blenderartists.org/letter_avatar_proxy/v4/letter/s/ecae2f/32.png) [@sundialsvc4](https://blenderartists.org/u/sundialsvc4)\
**Post date:** [February 8, 2019, 2:07pm UTC](https://blenderartists.org/t/how-to-find-objects-without-uv/1146229/6 "2019-02-08T14:07:22Z")

</div>

Python is a very versatile language and it winds up driving a lot of products, not just Blender. (These days, with Django, it drives most of my web-sites, too.) Blender did a very clean implementation of `bpy`. Definitely worth looking into – very helpful even for small tasks like these.
