Usage and Interface


UV-Packer Editor Plugin

After successful installation of UV-Packer and activation of the Plugin, the “UV-Packer” option will appear in the menu bar of the static mesh editor (s. screenshot below). Clicking the icon will open the UV-Packer widget which allows you to pack the UV maps and control all related options.

The UV-Packer plugin is located in the static mesh editor. To access the static mesh editor just double-click on a mesh asset in the content browser.

The Widget

The UV-Packer widget contains everything you need to control UV-Packer and can be docked freely within the static mesh editor. This section provides some details about each setting that can be configured.

UV Sheet

Source Channel - The UV channel containing the source UV data for UV packing. UV-Packer does not create any UV charts on its own and instead looks at this channel for input data to pack.

Target Channel - The UV Channel where UV-Packer stores its packing results. This does not have to be the same as the source channel if you don’t want to overwrite your original UV layout. Unreal Engine expects existing UV channels to be consecutive. If the chosen target is higher than the number of existing channels UV-Packer will add empty channels in between to avoid gaps.

Texture Size (Width & Height) - The reference texture width and height are used to determine the appropriate padding distance. Using a scale that matches the intended texture size makes it easier to gauge padding distances. This settings does not make any texture size a requirement. Any texture size can be used with the generated UV layout. It is just a helper to judge distances. Just leaving it at the default value is fine in most cases.

It is possible to specify different values for Width and Height. This will result in a UV layout that matches the corresponding aspect ratio. It will look skewed in the square preview but provide the correct aspect ratio when used with non-square textures. Since square texture maps are usually recommended it is also recommended to use the same value for width and height here but the option is available if needed.

Padding - Distance between charts in the texture. This is relative to the selected texture size above. A padding of 2 at 1024 x 1024 matches a padding of 4 at 2048 x 2048.

Unreal Engine supports up to 8 UV channels (0 to 7). Existing UV channels can be displayed through the UV menu in the static mesh editor:
Channel 1 is usually the default for auto generated light maps. If auto generated lightmaps are used the static mesh editor will display that uv map instead of the object’s actual uv data in that channel. Using that channel as target map in UV-PAcker will update the object data accordingly but the preview in the static mesh editor will still show the auto generated map instead. The options for automatic light maps can be changed in the object settings if needed.

UV Packing Engine

Pack Mode - UV-Packer provides a choice between two UV packing methods:

Efficient - This is the default packing and provides an optimized tradeoff between result quality and performance.

High Quality - This is similar to the Efficient type but it performs additional calculations to improve the packing results. It will be noticeably slower but will usually squeeze out a few more percent of texture area utilization.

Rescale UV Charts - When this option is checked the individual UV charts are rescaled depending on the amount of mesh surface they cover. This results in pixels being more evenly distributred over the mesh. When it is disabled all charts will keep the relative size to each other they had before the packing.

Pre-Rotate - This option rotates all charts to individual, optimal starting orientations. This is independent from the additional rotation orientations provided by the options below and will perform that individual rotation even if rotations are turned off there.

Rotation - These buttons provide additional rotations by the given angles to better fit the charts into the map. This happens independently of the starting rotation provided by the prerotate option above. Smaller rotation angles can provide more efficient chart arrangements in the map but the packing process takes more time.

Full Rotation - By default rotations will omit exact 180° opposites to each rotation angle. This is done because an upside-down alternative of a chart usually provides very little improvement in result quality while significantly increasing calculation time. Enabling this option will perform full circle rotations. This can improve result quality but has a notable performance impact.

UV Tiling

Tiles X & Y - When this option is at the default of 1 x 1 all UV charts are packed into a single UV square with coordinates between 0.0 and 1.0. Increasing the number of rows or columns will distribute the charts among additional UV tiles to be used by additional texture maps (UDIM tiling).

Pack UVs

Pack - This button generates the UV map with the optimally arranged charts based on the settings chosen above.

Status - UV-Packer displays its status below the ‘Pack’ button. After a successful packing operation it shows some statistics regarding the total area coverage of the UV map and the elapsed time during the packing operation. If anything goes wrong the status bar provides details about the problem UV-Packer encountered.