textboxy is a simple and straightforward textbox engine for GameMaker Studio 2.

For documentation and changes, please see the GitHub repository.


  • A global config script to adjust the engine without having to dig into the code at all
  • Control codes for changing text properties like color, speed, font, pauses, as well as position and size of the message box
  • Automatic line breaks based on a maximum width and special characters like whitespace and commas
  • Easy linking between message boxes and "speaker" instances, automatically updating the message box position
  • Basic options for text sound
  • Basic callbacks
  • Profiles for keeping track of your instances properties (sound, speed etc.)

You can find a .zip with a demo project on the newest release. Check it out here!

Please refer to the Github releases to see what you need to do to update to a newer version!

End User Licence Agreement (EULA).

Version 0.3.0. Published May 31, 2018

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 22 April 2019


joey b 10 February 2019


Anonymous 03 January 2019


Anonymous 21 October 2018


Chris M 27 May 2018

one of the best

except that its free, which makes it even better!. only thing i dont see a way to do yet, is set a 'relative origin' to a speaker. (ex, my player sprites are a bottom/center origin, and the text box appears overlapping the player sprite instead of appearing above its head).

tldl> great asset, highly recommended.

This review was left for a previous version of this asset.


glitchroy (Publisher) 29 May 2018

You're right, tracking the speaker only works for their origin point. An offset definitely sounds useful, that will be added.
As a workaround, if all your sprites are the same height, you can set tbyBoxBottomMargin to a higher value to avoid overlap.
EDIT: After a bugfix in version 0.2.1, message boxes now get drawn above and to the center of any speaker, regardless of their sprite!

Package contents

Loading, please wait

What is the issue?

Back to Top