What is the difference between Final IK and PuppetMaster?


Final IK is a collection of inverse kinematics solvers and tools. It can be used for all kinds of procedural animation effects like foot placement correction, interactions with the dynamic game environment, aiming correction, mapping VR avatars to the HMD and hand controllers, etc. Final IK contains over 65 demo scenes for different use cases.


PuppetMaster does advanced character physics, blending between animation and physics, partial ragdolls and physical player-character interactions in VR. PuppetMaster also helps with setting up biped ragdolls.




Both assets contain the Baker tool that can be used for recording your IK procedures or ragdoll simulations as Humanoid, Generic or Legacy animation clips.





Is it possible to get a Unity5 compatible version of PuppetMaster?


Yes. Please get a support ticket and include your Asset Store invoice number.



What is the performance like? Can I have over 100 puppets in my game?


That depends of course on the hardware of the target device, but also on how many puppets need to be in contact with each other simultaneously and many other things outlined here. Generally the rule of thumb is that 1 puppet costs about 2 normal ragdolls. It is possible to seamlessly deactivate puppets that are not close to each other or the player and not in need of any physical simulation, so with clever game design you should still be able to get a lot of characters on the screen. It is highly advised to integrate PuppetMaster to your project and do thorough stress testing as early as possible as it will be one of the main cornerstones of your game. If it doesn't meet your performance expectations, please send an e-mail to support@root-motion.com with your invoice number to get a refund.



Does PuppetMaster work with Final IK or they exclude each other?


Final IK and PuppetMaster are developed in a single project and were designed to complement each other and work seamlessly together. Final IK allows you to add foot placement correction, aiming correction, updating IK on top of PuppetMaster mapping for minor cosmetic fixes and many other solutions. If you own both assets, please import the "Final IK" integration package from "Plugins/RootMotion/PuppetMaster/_Integration" to access example scenes and scripts.



Does PuppetMaster work with 2D physics?


No, PuppetMaster can not use Unity's 2D physics components. It is possible to make a 2.5D game though, using sprites and 3D physics components constrained to 2D.



Does PuppetMaster work with Unity and Havok Physics for DOTS?


No, this remains a subject for future research. For now PuppetMaster only works with PhysX.



Can I use PuppetMaster when I need to have Physics.autoSimulation disabled?


Yes. This is how PuppetMaster needs to be updated in that scenario:


foreach (PuppetMaster puppetMaster in puppetMasters)
{
     puppetMaster.OnPreSimulate(deltaTime);
}

Physics.Simulate(deltaTime);

foreach (PuppetMaster puppetMaster in puppetMasters)
{
     puppetMaster.OnPostSimulate();
}