Introduction This 3d skeletal animation shader (skinning shader) can be used to load bone-based animated 3d models into Game Maker Studio. 3D Skeletal Animation is a relatively simple concept which requires a list of bones and bone-weights to be stored on the CPU. Similar to Frame-Based animation it uses the CPU to interpolate between frames, but instead of operating on a per-vertex level it operates on a per-bone level. The end-result is faster than interpolated frame-animation, and uses less RAM.


  • Misfit Model 3D (MM3D) file importing
  • CPU-sided bone skeleton animating
  • GPU accelerated skeleton skinning
  • Custom per-joint offsets for dynamic transformations

How it works:

  • Loading a Misfit Model 3D (MM3D) model only imports the model data and parses it into our generic skeleton model format:
    • **To actually use the model, you'll need to create an animated instance of the model (limited to one animated instance per object).
  • An animated instance is a "wrapper" for our generic animated-model format and it makes it easy to render bone-based models in Game Maker Studio.
  • It works with a simple vertex shader. The shader takes in the 4 bone-weights and the 4 bone-indices. It multiplies each vertex by the bone matrix and the bone weight. The fragment shader is a simple passthrough shader.


  • If you would like to see the extension in action before purchasing, check out the demo!

Known Issues:

  • It does have one flaw; It isn't as fast as we would like it to be. Game Maker is terrible at iterating through data, and that is the main thing our skeletal system does. We've spent a long time optimizing it for most machines, and we can render about 100 animating models with 40-bones at above 60 fps under YYC. So, this may not be ideal for mobile gaming, but it's perfectly fine for desktop gaming with modern hardware.

End User Licence Agreement (EULA).

Version 2.0.0. Published August 11, 2016

Created with GameMaker: Studio v1.4.1757

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


orbis s 06 October 2018


Luis O 06 April 2017

Neat Tool; However...

I do think this tool also needs updating. I'm not sure if you're still around, but when I use it in my current version of GM, my only model's invisible. Like what below, Nahuel R said.

I we can't figure out what to do with this problem, this tool will become useless O_O;


Nahuel R 22 May 2016

Perfect, but...

I love it, but i think it needs support for more file formats, because .mm3d isn't very practical(Misfit Model 3D supports only like 4 or 5 model formats).
Also, in order to succesfully test this i had to use an older GM Studio version because it doesn't work with the newest updates.
Maybe i'm asking too much, but it would be cool if instead of having to load a model with all it's animations we could load a model and the animations separate.
And i found that for some reason, the models i make appear invisible......I tried loading and saving again the RiggedNPC.mm3d file and it appears invisible ingame too

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


Gamedel G 11 April 2016

Nice asset

Author fellow. Everything works as it should.

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


Collin W 08 January 2016

It works really well, but doesn't explain

It works great! I only wish Manta Games had included a tutorial on
1) How it works
2) How to use it
3) How to import your own models
4) How to make your own animations

I don't really know what I'm doing as I'm immediately barraged with advanced code and scripts that I have to sift through to try and soak up how it all works. Aside from that, it works really well as long as you don't plan on having hundreds of animating models at once!

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


Troy B 23 September 2015

It works, but not optimized enough.

I wasn't able to reach the 100 objects 60fps that was claimed in the description, even when using YYC. Unfortunately even though this works really well it's simply not good enough on terms of how many animated models you can render simultaneously.

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


Manta Games (Publisher) 23 September 2015

Hello, thank you for trying out the asset! Naturally performance will vary between computers, the benchmark of 100 was taken on a mid-high range gaming PC. There are multiple considerations to make when using this, including complexity of the model, how often you are updating the animations and how many animations you are simultaneously updating.
It is most likely that the performance slow down will come from the actual animating rather than the rendering of the models, though we have not tested on low-end GPUs. With regard to the animation process, there are a few things as a user that you can do. The animation update rate is totally yours to control, you don't need to run the updates every frame for every animating instance, for example far away objects can be updated every other frame.
Characters that cannot be seen shouldn't be updated at all.
If you have a scene with high enemy density, you could create a pool of say 10 animating models then assign one to each character.Regards


Aimes G 19 August 2015

Get this if you want to make a 3D Game.

The old way to animate models is terrible. I prefer this way because there's a lot of reasons why. It takes too long to get a good animation.

My questions is. I am making an anime based game (Sort of like Mabinogi) will I be able to have hair, clothes, etc to fit with the rig? I dunno. I am so happy though. Thank you. <3

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


Manta Games (Publisher) 21 August 2015

Yes, using the attachment system, you can swap in and out certain items. This is useful for equips and other clothing items. If you want more advanced control, you can create multiple skeletal exports.

As it stands, the system simply works by taking a skeleton and a number of parts. If your model consists of multiple groups, it will render that model using a separate texture for each part. A group simply represents a model which represents a specific part of a model, and is bound to the skeleton. For example, clothing items would be in their own group.
So what you can essentially do is export each separate equippable item as a model bound to the same skeleton (you will have to rig each thing individually if you arent just having it as an attachment, but this is to be expected if you want equips to morph with the shape of the skeleton,). The skeleton is separate to the vertex buffer, so you can essentially just pass the skeleton into the shader once, and then draw the parts.

Package contents

Loading, please wait

What is the issue?

Back to Top