# \[Extension\] Modes - Levels made Easy

**URL:** <https://forum.makecode.com/t/extension-modes-levels-made-easy/19565>\
**Category:** Show & Tell\
**Tags:** extension\
**Created:** [May 1, 2023, 5:09pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565 "2023-05-01T17:09:02Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [May 1, 2023, 5:09pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/1 "2023-05-01T17:09:02Z")

</div>

Hey, y’all! So basically I made this extension on my school account a while back, and I’ve used it on quite a few Arcade projects. And I decided I wanted you guys to have access to it! So I uploaded it to GitHub and stuff and BOOM. The ✨ M O D E S ✨ extension!!!

## Blocks & Definitions

* * *

Instead of using a plethora of variables and functions, this extension makes levels and stages easier than ever in blocks.

- **Create mode** `$mode`  

- **Set mode to** `$mode`  

- **When the current mode is changed to** `$mode`  

- **Other Blocks**  

## Example

* * *

\*

 ![Screen Shot 2023-04-29 at 6.28.39 PM](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/2X/5/500c2cb27dec7ffd2e44d396607462dc07ddd2af.png)

Not much, I’ll admit. But, it was fun to make. And I think some of you guys will find it useful, just like I have. I’m working on a few other concepts for extensions at the moment, so any suggestions would _for sure_ be put into consideration. Alright, I gtg now, y’all have a great day!

## Link from GitHub

* * *

> **[GitHub - projectsbyunique/modes: Levels and modes, made a whole lot easier.](https://github.com/projectsbyunique/modes)**
>
> Levels and modes, made a whole lot easier.

---

<div class="post-metadata">

**Author:** ![BoostedGames](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/boostedgames/32/29419_2.png) [@BoostedGames](https://forum.makecode.com/u/BoostedGames)\
**Post date:** [May 1, 2023, 5:54pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/2 "2023-05-01T17:54:09Z")

</div>

Very cool! Might use this for one of my games.

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 24, 2024, 4:39pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/3 "2024-06-24T16:39:31Z")

</div>

# Update 2.0.0: Even easier!

Now you can reference modes with enumerations! Instead of having to enter the string for each block, just open the dropdown and create/use any mode.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/4/d/4d7a5bbf0f57829408d1e225c41e9ba058f2a3e2.png)

I also removed the `create $mode` block, further simplifying the extension!

> **[GitHub - projectsbyunique/modes: Levels and modes, made a whole lot easier.](https://github.com/projectsbyunique/modes)**
>
> Levels and modes, made a whole lot easier.

---

<div class="post-metadata">

**Author:** ![NeoStreak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neostreak/32/27498_2.png) [@NeoStreak](https://forum.makecode.com/u/NeoStreak)\
**Post date:** [June 25, 2024, 4:05am UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/4 "2024-06-25T04:05:57Z")

</div>

**AWESOME!** I’ll use this in my game, with credit of course. But, I don’t know why GitHub even works; how do I download it?

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 25, 2024, 6:23pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/5 "2024-06-25T18:23:40Z")

</div>

Thank you for using my extension!

To download the extension, press the plus button in your toolbar (it should say ‘Extensions.’)

![IMG_8022](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/9/a/9a71fe016a110b903c4abc30820bcd2b965f4dfb.jpeg)

Then, just type the URL to the extension’s GitHub page as shown:

 ![IMG_8023](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/4/6/46c9fc4f0412e5bbe34aa03332ce0aeb5288399a.jpeg)

---

<div class="post-metadata">

**Author:** ![NeoStreak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neostreak/32/27498_2.png) [@NeoStreak](https://forum.makecode.com/u/NeoStreak)\
**Post date:** [June 25, 2024, 6:26pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/6 "2024-06-25T18:26:19Z")

</div>

Never mind, I figured it out.

---

<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:** [June 25, 2024, 9:35pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/7 "2024-06-25T21:35:14Z")

</div>

Wait… isn’t this just functions?

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 25, 2024, 9:54pm UTC](https://forum.makecode.com/t/extension-modes-levels-made-easy/19565/8 "2024-06-25T21:54:59Z")

</div>

Yeah, but I don’t have to scroll through a giant list of function blocks to get the one I need. I can just drag and drop, then find the mode within that block.

It works well for my workflow, that’s why I mentioned that modes were just for me at one point.
