==Is Mutable right for my project?==
Many projects can get away with a system of interchangeable parts for their characters, and use some real time shader effects for colours. For those projects, Mutable is not necessary at all. Mutable aims more at solving the case for games like APB, Kingdom Under Fire 2 or PUBG, to put examples we know very well at Anticto, where deeper customization is required, and performance is critical. If you contact us and tell us more about your project, we may be able to evaluate the suitability of Mutable better.
==What does Mutable exactly offer?==
Mutable provides a completely flexible mesh customization system for UE4, with no pre-determined meshes, skeletons, textures or morphs that force you into a particular template, look or functionality. You can create the customizable mesh or character you want (doesn't even have to be a biped or an animal for that matter, you could even make customizable trees or objects) with the control parameters and degrees of freedom you want, and Mutable will create a standard and efficient UE4 skeletal mesh for you to use. These skeletal meshes can either be created in realtime in-game, or can be baked into standard assets during production in the UE4 editor. This enables you to use Mutable as another powerful art pipeline tool.
Customizable characters are developed with the Mutable graph editor, which is completely integrated into the UE4 editor and very comparable to UE4's own material editor. Mutable has both a C++ and Blueprint API to control the character customization in-game.
==What is the licensing cost and how can I try it?==
Please visit https://mutable.games/mutable-licensing/ .
==Does Mutable include a character library we can use in our games?==
No. Mutable is not a character library and you will still need artists to create assets for your game. Mutable will let you decide how this assets are combined into the final optimised game characters, and create parameters to customize them.
== Does Mutable provide an initial example project of a character customization system?
Yes, in fact at least two of them. All our own customizable characters seen in the promotional videos and website, cyborg and bandit, are available to Mutable users for them to study and modify.
==We use a non-standard material or rendering pipeline, can we use Mutable?==
Yes. Mutable can handle any number and type of materials and textures. It doesn't have any hardcoded features for "colour", "normal", "metallic" or any material property.
==What kind of assets does Mutable create for its characters? Are they a special or customized kind of skeletal meshes? Do they have any drawbacks or performance penalties?==
Mutable creates standard UE4 skeletal meshes and textures. Once they have been created, they technically the same as assets created by artists and can even be baked to UE4 assets and exported to projects that do not use Mutable.
==Can Mutable adapt animations?==
No. Mutable only builds meshes and textures for your static or skeletal objects, it doesn't modify animations. Mutable generates a standard UE4 skeletal mesh with a standard UE4 skeleton so that you can use the full UE4 animation system.
==Does Mutable provide a crowd system?==
No, Mutable doesn't provide a built-in out-of-the-box system to generate crowds with a couple of lines of code. But its customization features combined with LOD support can be used to easily create one.
==How many simultaneous characters does it support?==
There's no hard-coded limit in Mutable. In fact, since it generates standard UE4 meshes that aren't different from meshes directly created by artists, it can generate as many as your target system will support depending on how costly your characters are (polygon count, texture resolution, etc). There are production games using Mutable with 100+ characters. In our own experience, the limiting factor for UE4 is the animation cost rather than memory or rendering costs.
==Does it generate a fixed Atlas at runtime or is it always possible to modify?==
The answer is that you can set it up as you wish. You can have a fixed atlas used by all character variations, or you can have a variable atlas that will change as you put on or remove clothing parts to/from the character in-game. It's even possible to have different atlases/materials for different kinds of character parts (one atlas for body, another for jackets, another for helmets, etc).
Finally, it's possible not to have an atlas at all, and make all character parts use their own independent pre-defined layouts, textures and materials, which makes sense for some kinds of games.
==How live is the decal system? Is it limited in what kind of customization we can add if we use that system?==
Decals can be baked into textures during production or can be set and updated in realtime. Artists can use it in their art pipeline to create and bake interesting textures, or players can change the position of decals and tattoos in realtime in-game. For realtime editing, it's recommended that Mutable's "State" functionality is used, so that only the decal is updated in realtime and the rest of the character is not.
The decal system will project over a Material channel or channels chosen by the developer, so there aren't many limitations to what can be achieved. Just connect projection nodes to the Material channels over which you desire to project. The only limitations may be organizational, for instance, if you want a single projector to affect any switchable part, all these switchable parts must be children of a single "group" node.
==How do I set a physics asset for the characters generated by Mutable?==
By default Mutable doesn't touch it, but you can activate a flag to make it automatically use the body asset of the reference mesh in the root Customizable Object. Just call UCustomizableObjectInstance::SetReplacePhysicsAssets(true). Alternatively you can use the "Physics Asset Override" property in the skeletal mesh component.
==Does Mutable support morphs?==
Yes, Mutable can the read morphs present in the source UE4 Skeletal Meshes. Then it's up to the developer to choose whether to bake them into the created meshes (to have zero realtime cost for the morphs) or leave them as standard UE4 GPU morphs (for realtime animation).
==Can Mutable simulate the "aging" of characters?
Yes, morphs and normal map texture operations can be used to achieve that effect. In fact it's used in the "Cyborg" promotional videos.
==Does it support facial animation?==
Yes, Mutable has always supported bone-based animation, and now that it supports realtime morphs it supports facial animation based on morphs.
==Does it support Anim dynamics?==
Yes it does.
==Can Mutable handle cloth animation?==
There are several cloth animation systems in Unreal Engine, as far as we know:
* nVidia Apex cloth: Mutable does not support it, and it will not support it. This is a method that we believe it is being phased out, and it uses opaque data in binary blobs that we cannot interact with.
* Anim Dynamics: This is the method used by Epic in Paragon. It relies on bones to deform the meshes, so it is supported without any special requirement. See https://www.youtube.com/watch?v=5h5CvZEBBWo for an overview of anim dynamics by Epic. This is the recommended method when using Mutable.
* There is a new cloth system in Unreal Engine since 4.19 (Clothing Tool). We don't have support for it yet, but it will be supported very soon.
==Does Mutable have any special hair rendering features? Is it possible to physically simulate long hair and ponytails?==
No, it doesn't have any hair-specific functionality. Since Mutable uses and produces standard UE4 meshes, materials and textures, any hair effect that you can do in standard UE4 you should be able to integrate into Mutable characters.
Mutable respects the skeletons it is provided as reference, so it will maintain UE4 anim dynamics bones which can be used to have physically simulated ponytails.
==How Mutable handles content updates and binary differences==
All the data Mutable generates after a successful compilation of all the customizable objects in the game (typically a few hundred MBs for a complete game, which are streamed and cached in-game) is stored in a number of files in a folder inside the game project. Both the folder and the number of files can be easily changed via some configuration options. These options let the developer specify how big the files can be, so if the dev sets a really high limit, all the data will be stored in a single big file which will be modified after each content update.
Conversely, a very low size limit will pack every single object in its own small file. This will generate a ton of files, but will handle content updates more gracefully, modifying only the files that have really changed. UE4's own pak system will take on from here, with the possibility of packaging all the Mutable files in a single pack file, splitting them into several pak files or even not putting them in a pak file at all.
==Can I examine or debug Mutable characters? What if something doesn't work the way I expect to?==
Mutable will output error messages to the message/output log during editor sessions or in-game. In the graph editor it will also highlight nodes that have problems.
During a Mutable editor session, apart from being able to see the results in realtime in the preview viewport, below the current preview instance properties you will find a hyperlinked thumbnail of the skeletal mesh currently displayed in the preview viewport. You can double-click on it and a UE4 skeletal mesh editor window with this skeletal mesh will open, where it is possible to inspect the meshes, materials, texture layouts and textures used by the meshes.
==How can you implement transparent skin-tight clothing with Mutable?==
With a combination of texture blending plus a morph. Look at the bandit sample project, the arm bandages are an example of skin-tight clothing parts.