GameMaker Studio 2 (2.3)

Shampoo - Markup GUI framework

Zack Banack

You must be logged in to obtain assets


GMS v2.3.2.556 error temporary patch for Shampoo v0.9.21

Version 0.9.21 released -- January 1, 2021

Version 0.9.2 released -- December 23, 2020

Version 0.9.1 released -- November 19, 2020

Shampoo lets you build GUIs using a markup language. It supports live-coding, so you can create and debug interfaces in real-time. Shampoo was created for rapid, lightweight interface creation and user input handling. Its development began in early 2019 and went through several major pivots and rewrites since.

[!] Shampoo is currently pre-version 1.0. Expect code cleanup, optimizations, and refactors as v1.0 approaches. These patches should not break existing integrations in unmodified ShampooMain scripts.

[!] The Shampoo framework documentation is hosted on Github. Please note that the docs are WIP. The highly in-depth demo included with the framework should be more than enough to show you a majority of features.

[!] Shampoo has only been tested and verified to work on GMS 2.3 Windows export (including YoYo Compiler) and MacOSX export.

v0.9.2 Features:

  • Live-coding development environment so you can create and debug interfaces in real-time

  • Lightweight setup: it only takes a single function call to get the framework initialized

  • File checksum verification to hinder tampering

  • A unique markup-like language to build interfaces quickly

  • Customization of colors, fonts, sprites, sizes, and more

  • Built-in easing/tween engine to give your menus juice

  • Buttons with ability to enable/disable them

  • Draggable interfaces

  • Checkboxes and toggles

  • Radio button groups

  • Text input with maxlength and numbersOnly attributes

  • Sliders with customizable min/max ranges and intervals

  • Tabbing/arrow key support for navigating elements

  • Content overflow/linebreaks

  • Custom callback functions and in-line hyperlinks

  • Sound effect (and toggling) support

  • Tooltips and hover effects

  • Hex, blue-red-green, and string color support, with a built-in palette

  • onLoad, onStep, onClose, onDraw, onDrag, onResize event listeners

  • Out-of-the-box window resizing support

  • Arrow key/tab navigation


  • Framework isolated from the included demo

  • Improved HTML5 support

  • iOS, Android, and console support

  • Dropdown menus

  • More advanced textareas and input interception

  • Paginations

  • More efficient text parsing and character escaping

  • Element padding, margins

  • Scrollviews

  • Lists, expansion of indentation logic

Terms of Purchase:

  • This framework source code is sold as-is. You will receive free updates as they release on this website.

  • The price is subject to change (e.g. limited-time promotions) or may vary based on the marketplace.

  • Support, bug fix requests, and general inquiries will be handled on a case-by-case basis at earliest possible convenience of Shampoo's sole developer.

  • No parts of your purchase may be re-distributed, re-sold, or bundled with existing assets.

  • After purchasing this source code, it can be used in both commercial and non-commercial projects indefinitely. For teams larger than 3 developers, please consider purchasing additional copies. While not necessary, it's a way to support ongoing development.

  • No credit attribution is required but appreciated (@Zack Banack).

  • Refund requests must go through this website.

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 0.9.31. Published April 21, 2021

Shampoo version 0.9.3 is a minor update that addresses issues in April 2021 betas of GMS2.3.556+ * Fixed undefined array error for v3.2.556 * Fixed singleton variable name conflicting with Tweenline2

How to upgrade from v0.9.21 to v0.9.3: * Simply replace function sh_tags_define in script ShampooAttrs.gml

Full changelog:

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait