UT3 Skeleton Rig does not import well with UE4

I’ve been working on this game for over a year now since 2015. It started off as a college assignment using UDK and since then, I decided to build upon it since. Little did I know of circumstances with consoles and features that made game dev much easier and as much as I love UDK, it’s truly showing its age and without much support for UE3 now, I feel my efforts will fall in vain if I continue to complete and release my game with the current engine it uses, especially since UDK does not support console ports (less I buy the full UE3 license).

That said, I am considering to move my game and try to transfer as much of its progress already done from UDK into UE4. However, my main problem is that I am having trouble importing my character rig properly. It considers the core skeleton as an actual mesh, likely because they are also Editable Meshes in Max (yet that did not stop them from going invisible before) and the puppet system is has. (b_RightArm, b_LeftAnkle, etc.)

Why do puppet rigs have to be so complicated?

3DS Max


UE4 Import


Is there any way I can work around this without re-skinning the entire character and recreating animations? It’s bad enough I may have to redo 70% of my progress. I don’t want to have to redo 90% of it in UE4.

I’m not sure exactly how you’re getting that result, but if you have bones, even objects acting as bones, and a skinned mesh, unreal should recognize that as a skeletal mesh and import the bones and mesh correctly. Put it this way, whatever you had for UDK, will work for UE4.

The only thing I can think is that you’re using objects linked together with straight linking and what unreal will do is import linked objects as actual mesh objects. There’s a check box on the import settings to disable that and basically force unreal to import any linked objects as bones. You still need a skinned mesh to get an actual skeletal mesh in there of course, but you said you do have one so that should be ok then. I’m not sure if there can be any other reason for getting your current result other than just not having the right setup to begin with. But as you’ve said that it all works in UDK, it should work.