# \[Extension\] arcade-improved-sprite-data

**URL:** https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345
**Category:** Show & Tell
**Tags:** extension
**Created:** [February 24, 2026, 10:01pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345 "2026-02-24T22:01:16Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [February 24, 2026, 10:01pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/1 "2026-02-24T22:01:16Z")

</div>

Hey folks!

Did I say [another day another extension](https://forum.makecode.com/t/extension-arcade-fire-sprites/42344)? Well I actually mean another day another TWO extensions! I present: riknoll/arcade-improved-sprite-data

> **[GitHub - riknoll/arcade-improved-sprite-data: A MakeCode Arcade extension for storing data on...](https://github.com/riknoll/arcade-improved-sprite-data)**
>
> A MakeCode Arcade extension for storing data on sprites

This extension is an improved version of [microsoft/arcade-sprite-data](https://github.com/microsoft/arcade-sprite-data). You might be asking “What makes it so improved?”

Here’s what:

- Adds tilemap locations as a type that can stored/read
- Adds array versions of the blocks for every type
- Puts all the blocks into their own category in the toolbox instead of cramming them into the Sprites category
- Adds the ability to define and call functions on Sprites. Now you can have your own pseudo-methods in blocks!
- In addition to Sprites, all types (except functions) can also be stored on tilemap locations and objects (i.e. dictionaries in Python terminology)

Because of the objects feature, this extension also effectively replaces [microsoft/arcade-block-objects](https://github.com/microsoft/arcade-block-objects), which is an extension nobody really used because it was a nightmare. This one is much better! The block to create an empty object/dictionary is at the bottom of the category in the toolbox.

For storing properties on tilemap locations, the properties will persist until you load a new Tilemap. If you load the old tilemap again, all of the properties for each location will be restored.

Note that this extension is not compatible with microsoft/arcade-sprite-data. You can add them both to your project, but the properties stored by them are completely separate (properties written by microsoft/arcade-sprite-data can’t be read by this extension and vice versa).

---

<div class="post-metadata">

### Author: ![BitBot](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bitbot/32/33272_2.png) [@BitBot](https://forum.makecode.com/u/BitBot)
#### Post date: [February 24, 2026, 10:04pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/2 "2026-02-24T22:04:57Z")

</div>

Cool!

> **Note to mods**
>
> You guys just approved this in **two seconds!!**
> 
> Thank you!

---

<div class="post-metadata">

### Author: ![redSprite](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/redsprite/32/34262_2.png) [@redSprite](https://forum.makecode.com/u/redSprite)
#### Post date: [February 24, 2026, 10:50pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/3 "2026-02-24T22:50:09Z")

</div>

Ok, ok.

I like this one.

---

<div class="post-metadata">

### Author: ![Danny\_Devention](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/danny_devention/32/30134_2.png) [@Danny\_Devention](https://forum.makecode.com/u/Danny_Devention)
#### Post date: [February 24, 2026, 10:50pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/4 "2026-02-24T22:50:12Z")

</div>

This seems like its gonna help a lot for RPGs.

…I think

---

<div class="post-metadata">

### Author: ![mcodez](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/mcodez/32/30743_2.png) [@mcodez](https://forum.makecode.com/u/mcodez)
#### Post date: [February 24, 2026, 11:06pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/5 "2026-02-24T23:06:19Z")

</div>

It will Danny  
It will 🥹

---

<div class="post-metadata">

### Author: ![Rune](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/rune/32/18951_2.png) [@Rune](https://forum.makecode.com/u/Rune)
#### Post date: [February 24, 2026, 11:11pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/6 "2026-02-24T23:11:49Z")

</div>

Aw great, now I have to replace all my old ones with this!

Jokes aside, this is great.

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [February 24, 2026, 11:12pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/7 "2026-02-24T23:12:22Z")

</div>

oh no i wouldn’t bother doing that… that’s gonna be super tedious

---

<div class="post-metadata">

### Author: ![PixelDoodle](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/pixeldoodle/32/24129_2.png) [@PixelDoodle](https://forum.makecode.com/u/PixelDoodle)
#### Post date: [February 25, 2026, 12:15am UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/8 "2026-02-25T00:15:37Z")

</div>

![1000305057](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/e/c/ec513274198abb556ab5f3860288c94f4e52bdf3.jpeg)

---

<div class="post-metadata">

### Author: ![Bifrosty](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bifrosty/32/24819_2.png) [@Bifrosty](https://forum.makecode.com/u/Bifrosty)
#### Post date: [February 25, 2026, 4:05am UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/9 "2026-02-25T04:05:33Z")

</div>

Arrays were needed! This is perfect!

---

<div class="post-metadata">

### Author: ![Astro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/astro/32/35479_2.png) [@Astro](https://forum.makecode.com/u/Astro)
#### Post date: [February 25, 2026, 6:16pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/10 "2026-02-25T18:16:06Z")

</div>

Great, now i have to do SOMETHING useful with this… _inventories maybe? No…_

---

<div class="post-metadata">

### Author: ![Jedi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jedi/32/14307_2.png) [@Jedi](https://forum.makecode.com/u/Jedi)
#### Post date: [February 25, 2026, 6:16pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/11 "2026-02-25T18:16:11Z")

</div>

oh wow this looks so cool! this definitely tempts me to get back into makecode lol

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [February 27, 2026, 11:40am UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/12 "2026-02-27T11:40:08Z")

</div>

Basically block objects at this point

---

<div class="post-metadata">

### Author: ![Ima.notarobot](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/ima.notarobot/32/26551_2.png) [@Ima.notarobot](https://forum.makecode.com/u/Ima.notarobot)
#### Post date: [February 27, 2026, 5:42pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/13 "2026-02-27T17:42:10Z")

</div>

How is the extension different form using variables to keep track of data?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [February 27, 2026, 7:01pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/14 "2026-02-27T19:01:38Z")

</div>

because you can store the data on the sprite! a lot of times, sprites will have properties that don’t make sense to store in global variables.

for example, if your game infinitely spawns enemies and you want each of them to have their own health values, you can’t create infinite variables on the fly but you can store the health on each one using this extension.

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [February 27, 2026, 11:28pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/15 "2026-02-27T23:28:25Z")

</div>

Also less variables

---

<div class="post-metadata">

### Author: ![Soleb244](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@Soleb244](https://forum.makecode.com/u/Soleb244)
#### Post date: [September 24, 2026, 4:55pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/16 "2026-09-24T16:55:12Z")

</div>

Im so happy i procrastinated working on my game before i found this! I can make my combat system using “methods” and redo the whole item system with block objects!! (paralel arrays were horible compared to this)

---

<div class="post-metadata">

### Author: ![Soleb244](https://avatars.discourse-cdn.com/v4/letter/s/aeb1de/32.png) [@Soleb244](https://forum.makecode.com/u/Soleb244)
#### Post date: [September 24, 2026, 4:55pm UTC](https://forum.makecode.com/t/extension-arcade-improved-sprite-data/42345/17 "2026-09-24T16:55:24Z")

</div>

Also, is it somehow possible to use “inputs” or return a value from the functions? It would be super usefull to be able to do something like “can sprite see tilemap location x y” and return a boolean. And is it possible to define functions for block object too, not just sprites?

Sorry that im a bit late
