Playmaker Controllers INSTALLATION NOTES
1. Create a new, fresh, EMPTY Unity Project
2. Download and Import fresh version of Playmaker (two step installation! Need to unpack PlayMaker after downloading from Asset Store!)
3. Import Movement Animset Pro (or other package)
4. Unzip the "Assets\MovementAnimsetPro\InputManager_Replace\InputManager.zip"
and copy the unzipped files to "ProjectSettings\" folder, replacing the existin files. Do this in Windows, not in the Editor.
5. The controller should work correctly now.
Always back up your project, before importing anything new to it.
“Playmaker controllers don’t work properly in latest Unity”
Playmaker 1.9.0+, which came out 13 June 2018, removed iTween Actions from default set of Actions. Some of my controllers used iTween. Until I update all the controllers, there is now an additional step. You need to download iTween and set of iTween Actions manually, so the controllers work correctly:
1. After you download and install Playmaker, you need to download iTween (free) from Asset Store.
2. Next, you need to open Playmaker Welcome screen from the top menu and click Add-Ons.
3. Go to the bottom of the window and click "Import" on iTween Support.
The controllers will now work.
I am completly new to game development and Unity...
I really recommend starting your adventure in game development by learning the basics from free tutorials and assets, provided by Unity. My animations can be used by unexperienced developers (especially the ones with pre-made controllers), but you need to have at least minimal knowledge of Unity nad PlayMaker, to hook up your own character and start modifying the controllers.
After importing your pack to Unity I get a bunch of errors.
You need PlayMaker for the controller to work. The errors are there, because PlayMaker is not installed. Also remember that PlayMaker has an additional step required to install it - you need to unpack it (double click on Playmaker\Editor\Install\Playmaker.1.9.x.unitypackage) after importing to Unity from Asset Store.
If you just want the animations without the PlayMaker controller, then simply uncheck all other folders except "Animation" in the Import window. There will be no errors.
You are entitled to get support for the asset packages. This means, if there is a problem with the package, you will get help from the asset publisher. For example, if the package description says, that you can easly replace a character model, and you find it hard to do, you can write me, and I will help. Another example: if you find a bug in the package, you can write me, and I will fix it. If you are not sure how some aspect of the controller works, you can write me, and I will explain. As soon as you start modifying the controller, it becomes a part of your project.
I bought your animation set with a demo controller, so now tell me how to make a game.
First, you need to know how Unity works - what's mecanim, what are curves, variables etc. Second, you need to know how PlayMaker works - how to use Actions, how to communicate with Mecanim etc. So. generally, you need to know how to work with those tools.
Now, when you know Unity and Playmaker, you can just look at my controller, and everything will be clear and readable to you, same way as well commented c# script is readable to a programmer. Understanding my Player controllers completly could take a while though, since they are quite complicated, because they use many animations and game mechanics.
The demo controllers added to my animation packs are a learning tool. They are just examples of how to use the animations in a controller and a testbed. They are not ment to be sold on Steam “as is”, even if you replace the graphics.
How am I supposed to know how to build on/expand your controller then?
You can find tutorials for PlayMaker here. There are also many other tutorials you can find through Google and Youtube.
I don't know how to use PlayMaker, do you have a tutorial?
The animations should look correctly on most characters, but the automatic retargeting rarely gives perfect results.You can easly adjust the t-poses of your characters to match the t-pose on the animations, which will result in proper retargeting of the animation. This is a standard practise. Please watch the tutorial to see how to adjust the retargeting to different body types:
Your animations look incorrect/bad on my character.
Some of my animation packages have a demo controller included. Those controllers are a free addition to the animation sets. You don’t have to import it to the project, you can just import the animations.
I don’t need the controller, I need only animations. Can you sell me your animations without the controller?
I’m sorry, but I don’t know how to do that. I’m not a coder, I don’t know c#, I’m just an animator who happened to learn PlayMaker.
I don’t like/use/have PlayMaker. Please provide a controller made with c#.
No. I’m very sorry, I’m too busy making new animation packs :)
Will you work with us on exciting new indie game?
I am currently not available for freelance work, but there are a lot of motion capture studios that provide services for clients. For example http://mocap.pl.
Can I order custom animations?
About $10.000-$12.000. That information is usually hidden behind “Call now for a quote!” text in all mocap studios’ homepages.
I will try to explain why mocap is so expensive.
a) To make mocap, a studio invested in cameras, a 100m+ open space room and software licenses (Blade, Motionbuilder). Even for the smallest mocap studio, it’s minimum $30.000, plus room rent $1000/month. It can go up to literally tens of millions of dollars for a full blown Hollywood-rate mocap. This investment has to keep returning, so small studios usually charge about $2000 just for renting even the smallest mocap hardware for one day.
b) To make a motion capture session, besides electricity bills and rent, you have to pay for at least one mocap technician for full day and a mocap actor for full day. The better the actor, the more he charges, so for example a stuntman would ask for $1000 + taxes.
c) Now you have raw, uncut mocaps, presented as c3d points. They need to be cleaned up, cut to clips and retargeted to a game character. Then, the animations need to be processed further – posed, timed, guns need to be snapped to hands, feet can’t cross the floor etc. etc. This can take take up to a month per 100 animations. Assuming a skilled, experienced, valued mocap artist makes about $4000/month in Europe, then this process costs about $7.200 for a 180 animations set like Sword Animset Pro.
Now, I’m selling my sets for about $60. I can only do that, becasue there is a chance, that in a year or even two, an asset can sell 200 copies or more, which can make it worthwhile eventually.
How much a custom, game-ready mocap set would cost?
On my YouTube channel.
Where can I find some tutorials about your controllers?
No animation that is listed on animation list or videos is missing. My sets allow to make a complete controller, but not every possible controller you can imagine – just the controllers, that the set is ment for. I do my best to provide every possible information about the product before you buy, including the lists of the animations and video previews, to make sure, you know what you pay for.
Please read the animation lists BEFORE purchasing – if the animation is not listed, then it’s just simply not included, because it was not necessary for the controller, that the set was intended for. Just please don’t assume all the animations you need are there. Please check before buying.
Some animations are missing!
I’m sorry, I don’t work for hire at the moment. There are plenty of rigging tutorials you can find through google though.
Can you rig my characters or tell me how to do it?
Super easy! Use Maya’s built-in HumanIK rig, which I used to originally make my animations. Here’s a quick tutorial how to rig my animations in Maya or MayaLT:
How can I modify your animations with Maya?
No, sorry. The animations were made using HumanIK rig, not Biped. With some work, they can be coverted to Biped in couple of ways, for example using Motionbuilder’s retargeting, or renaming the bone names to fit Biped naming, export them to bvh format and import them to your Biped as mocap.
Do you have 3ds max Biped version of the animations?
Only one animation at a time can be imported to Maya or 3ds max. When importing the multitake FBX file (that’s the format my Unity animations are in) to Maya or 3ds max, you have to choose the Animation Take in the import window.
When I import the multitake FBX file to Maya/3ds max, only one animation imports.
I’m sorry, but I’m physically not able to ensure stability and maintain support for that many packages and controllers for different engine versions. I’m just one guy. I know many of you still use Unity 5, but I decided to keep with the newest available Unity.
However, you can still use the animations! Just install Unity 2017 and download my package. The animations are in FBX format and can be opened with Unity 5. You just need Unity 2017 to download and decompress the unity package file. The Unity 2017 controller and mecanim will not work in Unity 5, but all the animations, models and textures will.
I still use Unity 5.x and your packages require Unity 2017. Can you provide 5.x versions?
Short answer – I’m not able to tell you how. Building a game like GTA V is difficult and time consuming. It is impossible to explain it through e-mail.
Long answer – even if I knew exactly how to do it, it would be practically impossible to explain how to make a controller like this through an e-mail. Controllers combining advanced unarmed movement, pistols, rifles, swords and shields, cover systems, crouch and prone, enemies with AI and terrain awareness etc. are the most complicated mechanics systems in gaming industry. It’s not just a matter of switching animations, it’s also AI, camerawork, cover planning and hundreds, if not thousands animations inside the controller. It really is not as simple, as making a single transition link between Mecanim graphs called “RifleToSword” or “UnarmedToPistolCover”.
For example, GTA is produced by a giant company and a lot of very, very experienced people. And even so, it took them many years, to produce a controller (so, basically, a core game mechanic) that combines all possible motions. I’m not saying it is impossible to do by a single, determined indie developer. I’m just saying, I really don’t have a ready tutorial for making a game like this, that I could send you through e-mail.
I want to merge all your controllers and all your animations into one ultra-controller, like in GTA, tell me how!
As always in gamedev: it’s not that simple. It’s true, you can convert a project from one platform to another with one click. However, except Pistol Animset Pro, my controllers use keyboard + mouse or X360 gampad input. They theoretically will run on mobile, but you will not be able to control them with a telephone touch screen (but if you plug in a keyboard, or a gamepad to your phone it will work no problem!).To be able to use my character controller using a touch screen, you will have to build your own mobile controls setup, that simulates the standard Input.
Are your controllers compatible with mobile devices?Unity says you can convert any project to mobile with 1 click,
is that true?
You can NOT do that.
Unity Asset Store license clearly forbids that. You can use the animations in your game that you give away for free or for money, but the animations must be a part of a compiled (that means “built”, “cooked”, not openable by Unity editor, but launched by .exe file) game, so they are unusable by third parties. You can’t just give people the fbx files.
In plain words: if you buy my animations and then share them for free on the internet, you will just simply kill my bussiness. Instead of buying from me, the creator, people will be downloading them from you for free. That means I will not earn any money and I will simply have to close my store and stop making new animations.So please, If you really want to share your work for free – make sure it’s YOUR work you are sharing, not mine, and not other Asset Store creators.
I want to share your animations along with my project with other people for free!
I am sorry, but I don’t want to. I love keeping it small and working on my own. Besides, establishing a revenue share bussiness model internationally, which is legal and enforcable in case of problems, would be very difficult and probably not viable financially.
Let’s cooperate! I’ll use your animations in my controller, sell it on Asset Store and we will share the revenue!
This is because you have your 3ds max set to use Inches instead of meters. I made my animations using the metric system (because Unity uses this system), so 1 unit is 1 meter, and not 1 Inch, like 3ds max thinks. Set your 3ds max units to be in meters or centimeters and then import the animations.
When I import your FBX animations to 3ds max, some parts of the skeleton and model are in the wrong scale (for example, the hands are shrunk).
In 80% of support cases it is because your new character model is not set up to Humanoid rig. To switch your character model to Humanoid rig, click on the character file (in Project browser), and go to “Rig” tab in the Inspector panel. Choose “Humanoid” in the “Animation Type” drop down list.
Another problem might be uncommon skeleton hierarchy of your model, so Unity can’t recognize the bones automatically. In that case, you need to go to Avatar setup (click “Configure…” to go there) and manually drag and drop the correct bones to correct slots in Avatar Inspector panel.
Lastly, it can be caused by referencing the character GameObject as PlayerCapsule, instead of the Capsule Component. To do that, you need to click “Lock” in the upper bar of PlayMaker window, to prevent it from switching when you select the model. Please watch the tutorial again from 2:53:
I follow the tutorial about replacing the character model, but it doesn’t work. The character doesn’t animate.
No. I’m sorry, but such usage is not allowed. The license clearly says that the animations must be a part of a COMPILED game. It can NOT be a part of your asset pack. You can make money with my animations by selling a game made using them. Please, understand, you can not sell someone elses asset with your own asset.
You can use the animations in your game and sell the game on Steam or AppStore - that’s how you can make money :)
Can I use your animations in my Asset Store pack and sell it to people to make money (or give it out for free)?
All Animset Pro controllers are essentially the same, therefore many of the Object names are the same in all packages. Unity, when importing straight from the Asset Store, automatically overwrites the files, which have the same names, even if they are in separate folders.To counter that, you need to import every Animset Pro to a separate, empty Project. After that, you need to exit Editor and go to Windows, and simply copy the root folders of other Animset Pro packs, to the Assets folder of your Project. Remember to leave just one “AdditionalPlayMakerActions” folder, delete the rest, so the scripts don’t double.Turn the Editor back on. Unity will detect the new files, and will not overwrite anything, preserving the folder structure.
How to import more than one Animset Pro packages to one project?
First thing to realize, is that if you have 2 legs and you want to strafe in 360 degrees freely, while still walking casually, then there will unavoidably be 2 angles when the legs will cross, if you you change direction of movement. Always. Even if you would produce 360 walking animations for every agle, there would still be 2 angles when the legs cross. Normal, unarmed walking is, in essence, crossing your legs.
Fortunately, the leg crossing can happen only in half of the walk cycle time, the other half is when the legs are apart. Please make an experiment in real life to better understand it. Try to strafe right and stop in middle of the step, when your legs are crossed. Now, please try to change direction of walking to forward from that position, by moving your rear leg forward. You can’t, can you? Front leg blocks the rear leg. Your legs are crossed and your rear leg would have to literally pass through your front leg. In real life it is impossible, but in game the legs just intersect and keep going. In real life, you would have to keep strafing right, until your legs are no longer crossed, and only then you can “blend” to walk forward. Also, notice, that people don’t strafe in casual situations in real life. They strafe in sports and combat, but notice, that sports and combat strafing poses are totally different and you don’t cross feet by design (like in boxing footwork).
So, in real life you can’t change directions freely, when strafing using casual walk. However, in computer games, the legs are not physical, so you don’t have that limitation. And the legs just intersect, because the Blend Tree doesn’t know that it is impossible.
What you can do to prevent crossing from happening:
you can resign from strafing in non-combat situations altogether, by using more realistic system for casual movement. Strafing is something people do ONLY in sports and combat in real life. People are of course physically able to strafe like that, but they just don’t do it. In non-combat situations (Movement Animset Pro is a non-combat animation set), people just turn to desired direction and walk forward to get there. If they need to look right or left while walking, they just twist their heads to look and still walk forward. That’s why all TPP AAA games do that (Uncharted, Tomb Rider, Assassin’s Creed, Witcher etc.). Not only the movement will be more realistic, but also problems with legs crossing will disappear.Example of non-strafing casual walking:
Tip: if you want the character to always face, where the camera looks, just make the character twist his upper body to look at that direction with IK or/and additive animations.
you can “simulate” real world strafing by using code/scripts/playmaker. Just stop the blendspace from blending further for a moment, if a) the walk cycle is in legs crossing phase, b) this is the angle when crossing can happen. When the walk cycle reaches the phase, when the legs are apart, or the angle changes, you can resume with blending further. This solution will work well visually, but players will sometimes experience unresponsiveness of controls (just like they would in real life). But again – people don’t strafe in casual situations in real life. They strafe in sports and combat, but notice, that sports and combat strafing is totally different and you don’t cross feet by design. You just drag your other foot after your front foot.
use IK to prevent legs crossing. If you are in the angle when feet can cross and in the cycle phase when the feet do cross, then move one or both feet by couple of centimeters for a moment, so they are apart. Mecanim has built in IK. This solution is a 50/50 compromise between responsive controls and visual quality.
Look at Max Payne 3 for example. This is a very good example of solving TPP combat with quite realistic movement patterns. Max essentially never strafes in classical meaning, while the player feels that he does. But he doesn’t really, even in combat – if you press left or right, Max will turn left or right, start running forward, while at the same time he twists his upper body and arms on additive animations and IK to aim where camera aims. When you let go of the button, he will stop running and quickly rotate in place to align with camera. This makes the movement natural and eliminates the legs crossing problem.
I want to use strafing animations for non-combat movement (Movement Animset Pro), but the legs sometimes cross in my Blend Tree. How to fix it?
You can just import Unity animations straight to Unreal (and vice versa! Unreal versions of animations will work in Unity).
I am switching from Unity to Unreal. Do I have to buy Unreal versions of the packages or can I use Unity version I have?
This is because Unity’s automatic T-Pose in Avatar is not correct out of the box, if it comes to UE4 skeleton:
I am switching from Unreal to Unity. When I import UE4 animations to Unity, left hand looks strange on Humanoid rig.
You simply need to manually rotate the bones so the character is in proper T-Pose. Tutorial is above, in this FAQ. I can’t fix it on my end – all Unreal animations must be baked on this particular skeleton to be accepted to Marketplace.
Tip: It is helpful to click Pose>Sample BindPose and then Enforce T-Pose before rotating the hand bones. It will straighten up the legs and arms.
This is a very strange and unpractical retargeting default Unity setting. If your character has a mouth bone referenced in his Avatar, and the animations don’t have a mouth bone, then the mouth is open. You can do two things to fix it:- If you need mouth animations (for example for talking) then add mouth animations to the jaw bone. I don’t sell any talking animations, so you will have to make them yourself, so they fit to what your character says in the game.- If you don’t need mouth animations then simply unreference the jaw bone from your Avatar. Here’s how (from 3:57):
When I play the animations on my character, the mouth is always open.
If it is a popular weapon or activity in games, then it’s possible that I will make it in the future, but please base your purchase decisions on the animations that are currently available.
Will you make [name of the animset you want]?
My animation sets are often offered on sales at Unreal Marketplace and Unity Asset Store. All you have to do is to subscribe to RSS feeds of those stores or like Kubold’s facebook page to know when the sets are on sale.
I am a small INDIE game developer (not a huge company), can I have a discount?
I’m sorry, currently Asset Store and Marketplace don’t have an option of bundling the packs.
Is there a discount if I buy all sets in a bundle?
This is because a Root bone is selected as root motion source, to ensure that animation moves like in the source file. You can change it to procedural root motion by unreferencing the root bone and the options will appear.
“Animation is Driven by Curves” – I don’t see root motion options.
No, it does not impact the look or functionality of animations. Unlike 2D animations, 3D animations use interpolation between animation keys. That means, as long as the animation looks correctly, it can have varied number of keys. It does not matter if the animation has 120, 60 or 30 or 24 baked keys per second, because the computer will animate the object even between keys, producing a smooth motion anyway.
In fact, as long as the animation looks as intended, computer games greatly benefit from reducing the amount of keys to save memory and to boost performance. Animation baked in 30 fps will take way less video memory than animation baked in 60 or 120 or 240 fps, while still looking the same.
Default animation import setting in Unity and Unreal feature something called Animation Compression, which is nothing else than reducing the amount of keyframes to save memory, precisely because 60 or even 30 baked keys per second are unnecessary for 3D animation, because the computer can interpolate the movement between baked keys.
The older animations were made using 30 fps timeline, because it was convenient for me as an animator and higher number seemed unnecessary. I switched to animating in 60 fps later on, as Unity became a better engine and became more used in PC and console games, which can handle a bigger memory budget for animations, and savings are not that necessary. Yet, the animations are in the same quality as before, since a human being rarely changes the trajectories of movement more than 30 times a second.
“Some of the older animation files are baked in 30 fps, while newer are in 60 fps. Does it impact the look of animations?”
The bind pose in all my animations is the same, since I animate using the same character. You can access it by pressing “sample bind pose” in Avatar Definition (read: https://docs.unity3d.com/Manual/ConfiguringtheAvatar.html#AvatarConfig). You don’t need it to be in the animation file.
A bind pose is a pose, in which the mesh (the 3d model) was skinned (“bound”) to the bones. It does not have anything to do with the animations or retargeting the animations, so you don’t really need it. It is just for the mesh.
All the animation retargeting, whether it is in Unity or other 3D software (like Maya or Motionbuilder), should use t-pose, not a bind pose.
“Not all files have a take with bind pose”