CraftStudio – Mac fixes, texture export, scripting

Hey folks!

Here’s CraftStudio It’s made up of lots of bug fixes (both Windows and Mac), a new CraftStudio.AppendScene scripting function and more. Here we go!

CraftStudio for Mac improvements

So last week I released the first Mac version, and as with most initial releases, it came with a bunch of issues that were more or less serious. This release fixes quite a lot of stuff:

  • New installer which properly checks if the Mono runtime is installed and points the user to the download page if not. It also comes with an updated launcher (reinstalling isn’t required though, the updated launcher only fixes some minor user interface stuff)
  • Placing blocks in maps and painting doesn’t make CraftStudio crash anymore
  • The language files are now included properly so changing the language actually works
  • Windows can now be minimized and maximized
  • It’s now possible to exit CraftStudio with Cmd+Q
  • Copy / pasting now works with Cmd instead of Ctrl. It doesn’t work across applications yet though.
  • Performance has improved a lot thanks to a MonoGame fix by shilrobot

There are still some kinks to iron out, so watch this space for new releases! As always you can report any issues you encounter on the forums. Thanks!

Texture export

When exporting models for Minecraft, you’ll often need to export the texture too. Previously this could be done by copying the texture, pasting it in another program and then saving it. There is now a new command to do it all in one step. Just type:

    /export texture

And it will offer to save the texture as a PNG file.


I added a new scripting function called CraftStudio.AppendScene. It is similar to CraftStudio.Instantiate in that it lets you insert a scene into the game, but it doesn’t create an enclosing game object for it.

One possible use case is to nicely separate your game’s HUD from your level by putting them into separate scenes and having a script in the level append the HUD at runtime.

CreateScriptedBehavior initialization

Programmatically-created script components (with CreateScriptedBehavior) never had their Behavior:Awake and Behavior:Start functions called, this is now fixed.

This won’t affect most games, but let me know if it breaks something and you need help with the fix.

Miscellaneous fixes

  • Fixed a crash when cancelling Minecraft import / export dialogs
  • Fixed map block targetting being off-by-one in negative coordinates
  • Fixed the server manager to properly stop the server even when using a non-standard port
  • The Minecraft exporter now properly replaces all non-alphanumeric characters in block names with underscores
  • Fixed a client-side animation-related bug with mirrored duplicated blocks
  • Fixed server project list to properly display the membership policies (open / on request / invite-only)
  • Hardened project export to not crash if an asset cannot be loaded
  • Fixed checkbox spacing in script component properties