User Guide (Version 1.17)

Best Practices for Creating and Exporting Meshes

Follow the recommended best practices for creating and exporting skinned meshes when working with the FBX Settings tool.


If you are working with meshes for the Animation Editor, see Best Practices for Working with Skinned Meshes for Animation.

Using Custom Normals for DCC Assets

You can specify Lumberyard to use custom normals from DCC data when importing a mesh asset. When using custom normals, Asset Processor uses the MikkT technique for tangent calculation. You can specify this setting so that your mesh assets appear as you authored them in your DCC. If you disable this setting, Asset Processor will average them instead. You can specify to use custom normals for the project level or for a specific .fbx file.


The first time you start Lumberyard Editor, Asset Processor recompiles all assets for the current project. All meshes will have the default setting to use custom normals.

You can configure your game project so that by default, all mesh assets use the custom normals setting.

To use custom normals at the project level

  1. Start the Project Configurator.

  2. Select your game project and choose Advanced Settings.

  3. In the System Entity Editor, for Configuration, select Editor.

  4. In Scene Processing Config, for Use Custom Normals, select the check box.

                            Use Custom Normals when importing assets
                                from a DCC.


    • When you update the Use Custom Normals setting, your cache will not be recompiled. New assets that you import will have this setting by default. If you want to recompile your cache, delete the cache manually and Asset Processor will automatically process your assets. You can find the cache in the lumberyard_version\dev\Cache directory.

    • Updates to this setting are saved to the editor.xml file.

You can configure specific .fbx files so that the mesh assets use custom normals.

To use custom normals for a specific mesh

  1. In Lumberyard Editor, choose Tools, Asset Browser.

  2. In the Asset Browser, right-click an .fbx file and choose Edit Settings.

  3. In the FBX Settings tool, for the Meshes tab, choose Add Modifier, and then choose Mesh (Advanced) if the modifier doesn't already exist.

  4. Select the Use Custom Normals check box and click Update.

                            Use Custom Normals when importing assets
                                from a DCC.

    For more information, see Editing the FBX Settings.

Exporting Static Meshes

Use the following best practices when you export your static meshes with the FBX Settings tool.

  • Ensure that each object that needs a runtime collision has a physics mesh. Low-resolution physics meshes work better than high-resolution meshes. Primitives such as a cube, sphere, or capsule are best for optimal physics performance.

  • The maximum number of vertices for any static geometry is 65,536. You can export a scene where the total number of vertices exceeds 65,536, but each static geometry piece cannot exceed 65,536.

    If the combined mesh has more than 65,536 vertices, make the following changes in the FBX Settings tool.

    To use a combined mesh that has more than 65,536 vertices

    1. In Lumberyard Editor, in the Asset Browser, right-click the .fbx file and choose Edit Settings.

    2. In the FBX Settings tool, on the Meshes tab, click Add Modifier and then choose Mesh (Advanced).

    3. Clear the Merge Meshes setting. This prevents Asset Processor from merging the meshes, which allows Asset Processor to process the geometry.

Creating Physics Proxies for Static Meshes

A physics proxy is a mesh that encapsulates physics geometry, such as hit detection and the ability to collide. Physics proxies typically use primitive meshes or meshes with a low polygon count for better performance. Primitive meshes such as cubes, spheres, or capsules work best to ensure optimal physics performance.

You can create a physics proxy for your static mesh (.cgf file) with one of the following methods:


These methods work with the legacy CryPhysics feature. To create physics proxies for the new PhysX system, see Exporting a PxMesh for PhysX Mesh Shape .

Manually Creating Physics Proxies with the FBX Settings

To create a physics proxy modifier with the FBX Settings tool

  1. In the Asset Browser, right-click the .fbx file for which you want to create a physics proxy, and then choose Edit Settings.

  2. In the FBX Settings tool, on the Meshes tab, click Add Modifier, and then choose CryPhysics Proxy.

                                        FBX Settings for CryPhysics
  3. Next to Physics meshes, click the icon, select the meshes that you want to use for the physics proxies, and then click Select.

  4. For this procedure, the recommended best practice is to prevent the selected physics mesh from also rendering as a static mesh. To do this, do the following:

    1. For Select meshes, click the icon.

    2. Clear the mesh that you used for the physics proxy and click Select. This prevents the mesh that you selected for the physics proxy from also rendering as a static mesh.

  5. Click Update.

  6. When the File progress completes, click OK.

Once you have assigned a physics proxy mesh to your static mesh, the static mesh is ready to display physics and collision behavior.

Automatically Creating Physics Proxies

Instead of manually creating a physics proxy, you can use soft naming conventions.

To create physics proxies automatically

  1. Add the _phys as a suffix to the static mesh .fbx file name. For example, rename filename.fbx to filename_phys.fbx.

    When you add the _phys suffix to the file name, Asset Processor automatically adds a new CryPhysics Proxy modifier.

  2. In the Asset Browser, right-click the filename_phys.fbx file, and then choose Edit Settings.

  3. In the FBX Settings tool, on the Meshes tab, you can view this physics proxy modifier.

Asset Processor also automatically deselects the mesh that is used as the physics proxy for the Select meshes parameter. This prevents the physics mesh from rendering as a static mesh.


Only one physics proxy modifier is automatically created for each node that has a _phys suffix.