[5.7 bug] Deformer Is Applied Twice When Possessing a Spawned Character

I’m not sure whether this behavior is intentional or an oversight in the recent feature implementation. Unlike standard Control Rig controllers—which are correctly overridden by the possessable Control Rig track—deformers within the rig are not overridden and instead stack. As a result, both the spawnable and possessable Control Rig deformers remain active simultaneously, causing the deformation effect to be applied twice.

In our character setup, we use lattice deformers alongside other body controls within a single Control Rig asset. When working with a possessable character, the standard body controls are correctly overridden by the highest-priority track, but the deformers continue to stack. We’re wondering whether this behavior can be addressed so that deformers and controllers behave consistently when the character is possessed by another favored track.

Steps to Reproduce

Create a deformer in the Control Rig Editor using the Add Deformer function node.

Open a Level Sequence and spawn the character with the deformer Control Rig applied.

Create a second Level Sequence and add the first sequence as a Subsequence track.

In the second Level Sequence, possess the same character and add the same Control Rig track to the possessed character.

You’ll notice that, unlike standard controllers which override correctly, the deformers stack instead. Both the spawnable and possessable Control Rig deformers are active simultaneously, causing the deformation effect to be applied twice.

Add Deformer node in control rig is by default stacking because most use cases assume the mesh wants to use the default linear blend skin deformer before applying multiple lattice deformer rigs on top of it. However it does offer an option to override the default deformer if you prefer, which you can enable by changing the execution phase setting on the Add Deformer control rig Node from “After default deformer” to “Override default deformer”. This should allow the deformer in the second instance of the same rig to override the deformer in the first instance. You might need to make some minor adjustments to the deformer to include both linear blend skin as well as the lattice deformer since in this case the default linear blend skin deformer would be overridden as well.

Btw, it is worth mentioning that if you plan to integrate deformers into character rigs instead of using deformers as ad-hoc shot sculpting tools, you can take a look at this EDC thread https://forums.unrealengine.com/t/is-there-a-way-to-bake-deformer-graph-animations-in-level-sequencer-into-an-animation-sequence/2298398/11, where it shows that you can use auxiliary deformer bones and Post process AnimBP to make the rig work better with animation baking tools and potentially other sequencer features

Hope this helps! Happy to go into more details as well.

Jack

I see, for “clear deformer” I am thinking maybe you can use a Add Deformer node using “After Default Deformer” with a deformer graph wired this way: SkinnedMesh --> LBS --> WriteSkinnedMesh, note that the first node is not “Read Skinned Mesh”, which reads the geometry output from a previous deformer, instead, “SkinnedMesh” provides the rest mesh geometry as presented in the asset itself, so it is always a fresh start and not accumulative. And After this node you can continue stacking multiple lattice deformers without worrying about deformation produced by previous rigs.

Do you think this would work for you?

Sounds good! Glad to help!

Thanks for the clarification. We do have a separate, deformer-only post-process rig to support baked animation clip workflows. However, for keyframe animation, having two Control Rig tracks under a single character tends to confuse artists and complicate possession and copy workflows. For that reason, we’re aiming to include the deformer within the same Control Rig as the body controls.

Our deformers in the Control Rig are primarily used for lattice shaping of non-spherical eyes, and artists do not interact with these controls—they are enabled automatically. The proposed “override default deformer” approach doesn’t work well for our setup, as we use separate deformers for the left eye, right eye, and any additional eyes a character may require. These deformers need to stack, but we don’t want that stacking to occur across multiple instances of the Control Rig.

I’m wondering if there’s a way to override or clear all deformers up to a specific point in the evaluation order—essentially a “clear deformers” function that could be called at the start of the Control Rig. Happy to go into more details of the reasoning behind our structure if needed

Hmm, I tried this and it doesn’t seem to resolve the stacking between the custom deformers. It only appears to reset the skinning. The custom deformers that are set to After Default Deformer are still stacking across instances.

Oh, my mistake—I had the execution group set to the wrong value. After adjusting it, everything seems to be working. Thank you! I’ll do some additional testing with layered Control Rigs to make sure it behaves as expected and will report back if I run into any other issues. Thank you so much for all your help!