Summary
Highlights
The video begins by highlighting the issue of large project sizes and slow loading times, affecting map performance. It identifies material instances, meshes, and textures as major contributors to file size. The first optimization method focuses on textures. The creator demonstrates bulk exporting textures from UEFN, then using an external tool like Cesium Image Compressor to reduce their file size while maintaining acceptable quality. This process significantly reduces the upload and download size of the map, leading to faster loading times, though it doesn't directly improve in-game FPS due to maintaining the same resolution.
To further improve performance and reduce project size, the video explains how to reduce the resolution of textures. This involves adjusting the 'max in-game' setting for individual textures within UEFN. The creator advises experimenting with values like 2048, 1024, 512, or even 128 depending on the prop's size and importance, suggesting AI tools like ChatGPT for recommendations. It's crucial to regularly check changes to avoid blurry textures. While a quick 'reduce' option exists, it's less recommended as it's irreversible. The best practice is to manually adjust the maximum texture size for each asset.
The tutorial then transitions to optimizing static meshes, which also contribute significantly to project size and performance. By sorting assets by project size, users can identify the largest meshes. The key technique involves adjusting the 'keep triangle percent' setting for a static mesh to reduce its polygon count, thereby decreasing its size and improving render efficiency. The goal is to find a balance where the visual quality remains acceptable while achieving substantial size reduction. The example shows reducing a mesh's size by 60% with minimal visual degradation.
Hierarchical Instanced Static Meshes (HISM) are introduced as a method to optimize scenes with many identical objects. Instead of drawing each instance separately, HISM draws a single mesh multiple times at different locations, significantly reducing draw calls and improving performance. The process involves selecting multiple instances of a mesh, using the 'X-form harvest instances' tool in the modeling tab to convert them into a HISM. Important considerations include avoiding negative scales and ensuring that the material used has 'used with instanced static meshes' enabled in its master material settings.
Beyond HISM, several other performance-boosting settings for props are discussed. This includes disabling gravity, generate overlap events, and character step-up if not needed. Users are also advised to consider whether a prop needs to cast shadows, as shadows are computationally expensive. For small, decorative items, disabling shadows can lead to significant gains. Additionally, adjusting the 'LOD' (Level of Detail) settings for props and 'desired max draw distance' ensures that objects are only rendered when necessary and within a certain range, further optimizing performance.
The final section focuses on lighting optimization. The video introduces the 'maximum shader complexity' view mode (Alt+7/Alt+4) to visualize areas with high shader cost (pink indicating bad, blue indicating good). Key lighting optimizations include setting lights to 'stationary' (unless movement is required), avoiding overlapping lights, and reducing the 'attenuation radius' where possible to limit their computational impact. Similar to props, lights can also benefit from 'max draw distance' adjustments and carefully considering whether they need to 'cast shadows,' as shadows are one of the most expensive rendering features. Disabling shadows for less critical lights can lead to substantial performance improvements.