Custom Complex Collision

Hello!

I’m very new to Unreal, and I just discovered the ability to define “automatic” collision shapes inside of FBX files by giving them a specific prefix (UBX, UCX). This seems to always automatically associate the mesh or shape with simple collision, which is really great. These features will really save time.

My question is - is there a similar mechanism to define complex collision for the mesh? For example, if I have some object/mesh that has a lot of edges that would never contribute to collision of any kind, it would make sense to build a custom high-level collision shape for that object.

I know I can use the custom mesh for complex collision (by using the checkbox simple for complex), but I’m hoping there is a way to define both simple and complex custom meshes. Is this possible?

As a related question - is there a page in the documentation or such related to import behavior that would include information such as the prefix options (UCP, USP)?

Thank you for any help!

Yes, it is described in the documentation: FBX Static Mesh Pipeline | Unreal Engine Documentation

As for the complex collision, generally, complex = geometry. I believe, using “Simple for Complex” won’t actually use a custom mesh for complex collision, instead, it will perform a simple collision query when a complex one is requested. So no, I don’t think you can do that.

Okay, so just making sure I understand. You’re saying it’s not possible to define custom low poly and high poly collision meshes for a single static render mesh? Do you mean during import or within the Unreal engine entirely?

It seems like this would be possible in some way since Unreal is defining a copy of the render mesh as the complex collision mesh by default, even when we define a custom mesh for simple collision.

Thank you for your help!

Well, according to the documentation “Complex Collision is the trimesh of the given object.”, and no indication that it can be any different, so I believe complex collision is not something you can change without an engine modification.

If you can define a custom collision mesh and check the “simple for complex”. This would effectively use a custom mesh for complex collision testing. But then you would have to sacrifice your simpler collision performance for it.

At least I have a better understanding of it now. There may be situations where it makes sense to do this. Thank you for your help!