# \[Extension\] BetterSettings - Save booleans, images and string arrays!

**URL:** <https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089>\
**Category:** Show & Tell\
**Tags:** extension\
**Created:** [April 10, 2023, 5:42pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089 "2023-04-10T17:42:31Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Blobbey](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blobbey/32/20831_2.png) [@Blobbey](https://forum.makecode.com/u/Blobbey)\
**Post date:** [October 4, 2023, 4:45pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/21 "2023-10-04T16:45:45Z")

</div>

@Sarge, just curious, do you plan on adding setting blocks for tilemaps?

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [October 4, 2023, 11:29pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/22 "2023-10-04T23:29:10Z")

</div>

Wait, let me check my todo list…

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/0/0c02b7f6b1c50e3dc29e4e7acf1125e55dba6cee.png)

Yeah… I planned it a long time ago. The issue is you can’t create a tilemap of custom dimensions, so I’d have to make a 512x512 tilemap (max size) and then write to it, but that’s really inefficient. Idk, I don’t think I’ll be doing that. If I ever update bettersettings, I’ll try to add it, but I wasn’t planning to do that in the near future either.

---

<div class="post-metadata">

**Author:** ![urassari](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/urassari/32/9535_2.png) [@urassari](https://forum.makecode.com/u/urassari)\
**Post date:** [October 17, 2023, 9:11pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/23 "2023-10-17T21:11:42Z")

</div>

Isnt this just… variables?

---

<div class="post-metadata">

**Author:** ![Blobbey](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blobbey/32/20831_2.png) [@Blobbey](https://forum.makecode.com/u/Blobbey)\
**Post date:** [October 17, 2023, 9:35pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/24 "2023-10-17T21:35:05Z")

</div>

Sort of, but these settings save if you reset or close your game.

---

<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:** [October 17, 2023, 9:35pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/25 "2023-10-17T21:35:52Z")

</div>

Nope. **SAVE DATA** variables. It’s a better version of the original settings extension.

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [October 18, 2023, 4:35pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/26 "2023-10-18T16:35:08Z")

</div>

If it was this extension would not exist 😉

---

<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:** [January 22, 2024, 10:45pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/27 "2024-01-22T22:45:53Z")

</div>

Whenever I try to import this extension it says “network request failed” and I don’t know why. Its only this extension and I am very confused. If anyone can help me here then thanks in advance.

---

<div class="post-metadata">

**Author:** ![TestTube](https://avatars.discourse-cdn.com/v4/letter/t/9fc29f/32.png) [@TestTube](https://forum.makecode.com/u/TestTube)\
**Post date:** [January 29, 2024, 9:24pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/28 "2024-01-29T21:24:49Z")

</div>

Hey @Rune I don’t know of any way to fix that problem, but I also encountered it. The best solution that I can give you is that you should use this extension instead:

> [@Sarge](#):
>
> [https://github.com/S0m3randomguy/BetterSettings](https://github.com/S0m3randomguy/BetterSettings)

This is the only version I got to work, but I think that it might suit your needs.

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [May 14, 2024, 9:20pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/29 "2024-05-14T21:20:26Z")

</div>

## Imporant announcement

I changed my GitHub username, so please remove this extension in any project you may have it imported, and instead import the new link under my new username (sargedev).

This is not necessary, as [the extension should still work](https://forum.makecode.com/t/how-does-makecode-handle-github-username-migrations/28716/11), but it would be the safest option. By importing the new link you will also get access to any new updates.

**WARNING: Do not import the new link before removing the old one, as this could cause conflicts**

> **[GitHub - sargedev/bettersettings: Add improved settings namespace blocks that...](https://github.com/sargedev/bettersettings)**
>
> Add improved settings namespace blocks that support more verbose datatypes

---

<div class="post-metadata">

**Author:** ![Blobbey](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blobbey/32/20831_2.png) [@Blobbey](https://forum.makecode.com/u/Blobbey)\
**Post date:** [May 14, 2024, 10:04pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/30 "2024-05-14T22:04:26Z")

</div>

> [@Sarge](#):
>
> remove this extension in any project you may have it imported

Dang… that’s a lot of my games… Will it be okay if I only remove/replace the extension in projects I intend to update?

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [May 15, 2024, 7:01am UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/31 "2024-05-15T07:01:28Z")

</div>

Yes! The extension should still work for a very long time (until someone nabs my name on github), this is just for safety. Also, published links aren’t in any danger so you don’t have to worry

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [May 15, 2024, 8:18pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/32 "2024-05-15T20:18:53Z")

</div>

(Technically S0m3randomguy/bettersettings will redirect to sargedev/bettersettings until someone takes my old username so you can still get updates, I think. But I’d still like to play it safe and get everyone to switch. I know it’s inconvenient but it’s for the best)

---

<div class="post-metadata">

**Author:** ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)\
**Post date:** [May 16, 2024, 4:29pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/33 "2024-05-16T16:29:14Z")

</div>

Quick update: I found the most efficient method to swap these extensions quickly and painlessly  
To do so, simply navigate to your `pxt.json` file (on GitHub, or in the makecode explorer in javascript) and in the “dependencies” section change all occurences of “S0m3randomguy” to “sargedev”.

**DISCLAIMER: I am currently working out some issues with this approach. Please stand by.**  
**Also, always back your project up before doing this, obviously**

---

<div class="post-metadata">

**Author:** ![BobAJoeJoe](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bobajoejoe/32/21776_2.png) [@BobAJoeJoe](https://forum.makecode.com/u/BobAJoeJoe)\
**Post date:** [August 7, 2025, 6:05pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/34 "2025-08-07T18:05:39Z")

</div>

Do you ever plan on making it so you can store tilemaps as a setting, I know it’s been over a year but I really need this or a mario maker type game.

---

<div class="post-metadata">

**Author:** ![randomuser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/randomuser/32/32505_2.png) [@randomuser](https://forum.makecode.com/u/randomuser)\
**Post date:** [August 8, 2025, 2:36am UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/35 "2025-08-08T02:36:44Z")

</div>

You could:

1. Make an array of all the tiles you want to use in your settings tilemap
2. Store a 2D array with each element as the index of which tile in the array should be there
3. Use a function to create a new tile map and set each tile to the array of times at the index in the 2D array

I can make a demo of this if this isn’t explained well XD I like the Mario maker idea! 🍄

---

<div class="post-metadata">

**Author:** ![Dromiski\_C0d3s14](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dromiski_c0d3s14/32/33355_2.png) [@Dromiski\_C0d3s14](https://forum.makecode.com/u/Dromiski_C0d3s14)\
**Post date:** [July 7, 2026, 6:06pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/37 "2026-07-07T18:06:26Z")

</div>

I tried using this to save images for my game if the image is changed its still saved when you reload it. but when i opened my unfinished game in a new tab to play, it didn’t even run for more than 1 second without pausing the game and turning the console tinted yellow as if there was a null when there wasn’t. But later it said PANIC! error 20-something and it was all the images i was trying to save using the extension. I don’t know if it was bc i did it the wrong way but arcording to Gemini it is bc of saved image overload in the tab or browser console itself. Is there something to fix that?

---

<div class="post-metadata">

**Author:** ![randomuser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/randomuser/32/32505_2.png) [@randomuser](https://forum.makecode.com/u/randomuser)\
**Post date:** [July 7, 2026, 8:57pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/38 "2026-07-07T20:57:28Z")

</div>

My guess is you saved too many images or are trying to refer to them before they exist-- could you get the exact error code?

---

<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:** [July 8, 2026, 10:58pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/39 "2026-07-08T22:58:02Z")

</div>

It’s because the settings namespace has a limit to saving like 16 kb IIRC and this takes too much memory so it gives a panic code

---

<div class="post-metadata">

**Author:** ![Dromiski\_C0d3s14](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dromiski_c0d3s14/32/33355_2.png) [@Dromiski\_C0d3s14](https://forum.makecode.com/u/Dromiski_C0d3s14)\
**Post date:** [July 9, 2026, 11:10pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/40 "2026-07-09T23:10:28Z")

</div>

Yeah that makes sense. Thank you

---

<div class="post-metadata">

**Author:** ![GoObErsandwichdude64](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/goobersandwichdude64/32/34178_2.png) [@GoObErsandwichdude64](https://forum.makecode.com/u/GoObErsandwichdude64)\
**Post date:** [October 13, 2026, 5:37pm UTC](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089/41 "2026-10-13T17:37:17Z")

</div>

@Sarge sir when you have time can you add in the array setting blocks can you add these blocks:

- add item "eg the img, num, word"to setting array “setting”
- get item “eg 2” from settings array “setting”  
and more block that do what is in the modify and read section of the array block

[Previous page](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089.md?page=1)

[Next page](https://forum.makecode.com/t/extension-bettersettings-save-booleans-images-and-string-arrays/19089.md?page=3)
