# Why can't I simply get activeLayer.name?

**URL:** <https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901>\
**Category:** UXP Plugin API\
**Tags:** javascript, api-feedback\
**Created:** [November 16, 2021, 4:59pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901 "2021-11-16T16:59:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jolene](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@Jolene](https://forums.creativeclouddeveloper.com/u/Jolene)\
**Post date:** [November 16, 2021, 4:59pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/1 "2021-11-16T16:59:24Z")

</div>

![image](https://us1.discourse-cdn.com/flex015/uploads/xdplugins/original/2X/c/cef7dd794245b16935bd7b55cb146ef1302a21d0.png)  
Here I was trying out from an example UXP plugin, and I assigned this function to the second button “WoopsYeah”, which worked well until I add “.name” to the red rect place.  
It seems to have a stop at Row 24 if “.name” is added and Const b would not be printed, albeit Const c is not used.  
And If I remove “.name”, Const b will be printed.  
So why I could’t just directely get the chosen layer’s name (I test several ArtLayer attr but all of them lead to the same problem) or did I miss something?

---

<div class="post-metadata">

**Author:** ![Karmalakas](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/karmalakas/32/1048_2.png) [@Karmalakas](https://forums.creativeclouddeveloper.com/u/Karmalakas)\
**Post date:** [November 16, 2021, 5:23pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/2 "2021-11-16T17:23:21Z")

</div>

What did you get without a `.name`? I suspect there’s no active layer and you should see an error in console while trying to access `name` of `undefined`

---

<div class="post-metadata">

**Author:** ![Jolene](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@Jolene](https://forums.creativeclouddeveloper.com/u/Jolene)\
**Post date:** [November 16, 2021, 5:42pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/3 "2021-11-16T17:42:52Z")

</div>

I got “15” as printed in “Output”, that went well. And I’m pretty sure I do have selected one and only one artLayer so there should be no way of app.activeDocument.activeLayer returnning undefined.

---

<div class="post-metadata">

**Author:** ![Karmalakas](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/karmalakas/32/1048_2.png) [@Karmalakas](https://forums.creativeclouddeveloper.com/u/Karmalakas)\
**Post date:** [November 16, 2021, 5:44pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/4 "2021-11-16T17:44:27Z")

</div>

~~What is `c` without a `.name`?~~

Nevermind 🙂  
`activeDocument` [does not have](https://www.adobe.io/photoshop/uxp/2022/ps_reference/classes/document/#properties-1) a property named `activeLayer`. That’s what I was talking about. You should get `undefined` for `c` without a `.name`.

Property you should use is `activeLayers`, which [is a collection](https://www.adobe.io/photoshop/uxp/2022/ps_reference/classes/layers/) (array of layers). So if you want only one first active layer, it should be:

```auto
app.activeDocument.activeLayers[0].name

```

But I strongly suggest to have some checks if there’s an active document and/or layers  
Maybe something like this (would need to test):

```auto
app.activeDocument?.activeLayers[0]?.name

```

---

<div class="post-metadata">

**Author:** ![Jolene](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@Jolene](https://forums.creativeclouddeveloper.com/u/Jolene)\
**Post date:** [November 16, 2021, 7:55pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/5 "2021-11-16T19:55:52Z")

</div>

Oh my! I got screwed.  
You are right, activeLayers[$] do help. “activeLayers” is not mentioned in this 2020 PS.JS doc and I don’t know why.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/xdplugins/original/2X/8/82b991e457ea6f752d0be52a402ad85fc87e9b85.png)

---

<div class="post-metadata">

**Author:** ![Karmalakas](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/karmalakas/32/1048_2.png) [@Karmalakas](https://forums.creativeclouddeveloper.com/u/Karmalakas)\
**Post date:** [November 16, 2021, 8:22pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/6 "2021-11-16T20:22:32Z")

</div>

I suppose for UXP you should be using [web version of docs](https://www.adobe.io/photoshop/uxp/2022/ps_reference/), which is kinda updated more or less frequently. Definitely more than PDF 🙂

---

<div class="post-metadata">

**Author:** ![simonhenke](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/simonhenke/32/957_2.png) [@simonhenke](https://forums.creativeclouddeveloper.com/u/simonhenke)\
**Post date:** [November 17, 2021, 1:44pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/7 "2021-11-17T13:44:51Z")

</div>

This PDF shows the JavaScript Reference for **CEP** extensions, which is the outdated technology.  
As @Karmalakas said, for UXP you should check the web documentation. (I don’t think UXP docs even exist in PDF format)

---

<div class="post-metadata">

**Author:** ![Karmalakas](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/karmalakas/32/1048_2.png) [@Karmalakas](https://forums.creativeclouddeveloper.com/u/Karmalakas)\
**Post date:** [November 17, 2021, 1:49pm UTC](https://forums.creativeclouddeveloper.com/t/why-cant-i-simply-get-activelayer-name/3901/8 "2021-11-17T13:49:23Z")

</div>

I was wondering if that PDF could be for CEP 🙂
