For almost all projects I worked on, I always had to do some kind of asset validation and reporting to quickly find situations where to optimize. To do that in a fast manner, I always wrote some in-engine scripts using C# to output the needed result.
Some tools generate excel lists where data can be filtered further, while others allow to easily batch change settings of hundreds of assets with a single click or find cases which need to be optimized in engine. Most tools which write their output into a listview have a function to jump to the asset in the objectbank when rightclicking on the entry.
In the screenshots below, project-specific data and names are pixelated, as they are not relevant for the tool description itself and as most of my scripts, the code is not publicly available due to project-specific requirements and usage of in-house libraries.
Group Hierarchy
This tool displays the hierarchy of an selected entity-group.
The children in the group could be groups themselves, which made those group grow very quickly.
The tool helped to view the hierarchy and get group settings and usage of each entity/group included.
The colored checkboxes allowed to select all groups with a specific optimization setting and change all of them with one click.
Material Checker
This tool lists the materials of all assets in a specified objectbank path.
The color indicator shows if an material has potential to be replaced/removed or is used inefficiently.
The checkboxes above the listview help to select all entries with the specific indicator for further actions.
Entity Information
This tool is more on a general side and lists highlevel information of different asset categories to quickly determine optimization potential for loading ranges and change those in batch for the selected entries.
Decal Manager
This tool is a variant of the materialchecker. Here it lists all decal assets (mesh decals) in a specified path and applies indicators based on given budget-limits (triangle and material count).
Furthermore it calculates the total area of a decal and it’s efficiency based on how much area is opaque. The more opaque a decal is, the higher it’s efficiency.
And as before, specific settings can be applied on all selected entries, like disabling shadowcasting and visibility occlusion. As these are assets, the selected entries also can be opened in a testworld with one click for further inspection.
Asset loader
This tool opens and arranges assets in a dynamic way in a test-world (playground) for visual validation.
It works best together with other tools or an asset report which outputs the IDs of entities. The asset-IDs in question can be copied and pasted into the input window. The assets are then loaded if the IDs are valid and opened in the test-world along the X-axis.
With the sliders, the arrangement of the assets along the Y-axis can be changed dynamically (amount of rows and space between them). If Use MaxY-BV is checked, the bounding volume of each asset is used to determine the spacing between them.
Get asset-instances from a group
This tool was written as part of an asset validation pipeline for large entity-groups.
It finds all the father assets of the instances in a entity-group and displays them in listviews according to specified categories. After that, those can all be opened and placed out in labeled areas in a test-world for validation.
In this case, it was important to only get the entities which were not yet validated or of specific other irrelevant categories.