Morph Targets Working on Cpu but NOT GPU

I have run into a really wierd problem that is brought my project to a complete halt.

In some meshes, morph targets simply wont work on the GPU, but when i switch to CPU skinning in persona, they work fine. Here is a project with a single mesh and skeleton that demonstrates the problem. Open up the mesh and set a morph target using GPU skinning, and nothing happens. Switch to CPU skinning and it works fine. I am using a GTX 1070. Can anyone confirm that this mesh is doing the same thing for them as well? If so, what could be causing this?
The mesh is quite large, but that shouldn’t cause it to just fail.
If its happening for more than just me, i believe its a bug. You may need to create a keyboard shortcut in editor preferences to enable CPU skin toggle. Disabling morph calculation on gpu in project settings is not enough, you must toggle cpu skinning live the preview window of persona.

ANY assistance is appreciated

this mesh has hundreds of morph targets. but i have a mesh with 2000+ morphs and it doesnt have this problem.

After More testing, i’ve confirmed that all morphs work when using full CPU Skinning. When using full GPU skinning, roughly 1\3 of them work. When using GPU skinning, but with calculate morphs on CPU checked in the project settings, NONE of them work. I’m Still stumped, and really could use some assistance.

Hi there kostenickj,

We have had a similar issue as you with a mesh with roughly 180 morph targets. Again, only roughly a third of these morph targets worked in UE4 4.20. When we enabled cpu morph targets with the command r.MorphTarget.Mode 0, all of the morph targets worked correctly.

It is worth noting that we also had this issue in UE4 4.19, but this was not an issue in UE4 4.18. I’m not sure exactly what the issue is, but there definitely seems to be a problem in this engine version.

Anyway, thanks for posting this, we would never have figured out that CPU vs GPU morph targets were the problem.


I did end up filing a bug report for this.

They replied and informed me that they are aware of the issue internally, and that there is already a bug ticket for it. However the ticket is private and can only be viewed by them since it contains “sensitive” info. They said it should be fixed in 4.21.

I’ve been watching the dev-rendering branch on GitHub fairly closely and i see they changed several areas of code around morph targets on GPU, so i think it may already be fixed. At least i hope so, because CPU morph target performance is terrible!

Yeah we are also concerned about the CPU morph target performance, glad it will hopefully be fixed in 4.21! Thanks for mentioning that it might be fixed on the dev branch, will check that out.