- What is the status of Mutable?
- Is Mutable right for my project?
- What is the licensing cost and how can I try it?
- Does Mutable include a character library we can use in our games?
- We use a non-standard material or rendering pipeline, can we use Mutable?
- Can Mutable adapt animations?
- Using Mutable
Mutable is a system that we adapt to the needs of every project. We are hoping to release a public demo version at some point before the end of the year with a test project for anyone to be able to evaluate it. We see Mutable as a framework we adapt and optimise for each game.
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 customisation 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.
We are trying to have a standalone version that we can release for people to be able to evaluate Mutable freely. It will not be really polished and optimised, but we are open to do that on demand. Regarding licensing fees, we are very flexible. Take a look at this section for the latest information. We offer a per-project per-platform licensing option, with a fee for the first platform, and an additional fees for every other platform. We are also consdering an indie-like license piggy-backing on Epic's old 5% for Unreal Engine, by adding an extra 1% on gross income for Mutable in exactly the same conditions Epic has. We would consider this for promising indie projects. In both cases dedicated support needs to be paid monthly and separately. Bug-fixing and minimal non-time-critical support will be there in any case. If you don't like these options, we are open to suggestions.
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.
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.
No. Mutable only builds meshes and textures for your static or skeletal objects, it doesn't modify animations.
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.
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. We don't have support for it yet, but we may evaluate it for the future.
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.