# Unreal Engine Assets Validator Library
Command-line Interface (CLI) responsible for validating Unreal Engine asset files.
A [`uasset` file](https://docs.unrealengine.com/5.1/en-US/assets-and-content-packs-in-unreal-engine/) is an asset file used by Unreal Editor. It contains an asset, such as a level, material, animation, sound, or particle system, used in an Unreal Engine game. Any piece of content in an Unreal Engine project is an asset.
## Overview
As you develop projects in Unreal Engine (UE), the list of Assets in your Content Browser will expand. This runs the risk of creating redundant variations of assets you're experimenting with, or introducing ambiguity with overly similar names. For example, it is possible for you to have a folder named "Soldier" with a Blueprint, a texture, and a model that all have the name "Soldier" in them, but no clear way to tell which is which in a simple list.
For large projects, Epic Games recommends you establish a [common naming convention](https://docs.unrealengine.com/5.1/en-US/recommended-asset-naming-conventions-in-unreal-engine-projects/) for individual Assets early in development. This will make it easier for you and your team to locate files and prevent potential conflicts or ambiguity.
```text
[AssetTypePrefix]_[AssetName]_[Descriptor]_[OptionalVariantLetterOrNumber]
```
- `AssetTypePrefix` identifies the type of Asset, refer to the table below for details.
- `AssetName` is the Asset's name.
- `Descriptor` provides additional context for the Asset, to help identify how it is used. For example, whether a texture is a normal map or an opacity map.
- `OptionalVariantLetterOrNumber` is optionally used to differentiate between multiple versions or variations of an asset.
Consider using this naming convention for your own project's Assets, as it will provide multiple ways for your team to locate an Asset when searching the Content Browser.
## Recommended Asset Prefixes
This list is not exhaustive, as new features can require new Asset types. If you are using an Asset type not listed, use the existing list as a guideline for your naming convention for that Asset.
| ASSET | PREFIX |
|-------------------------------------------------------------------------------------------------------------------------------|---------|
| **General** |
| [High Dynamic Range Image (HDRI)](https://docs.unrealengine.com/5.1/en-US/hdri-backdrop-visualization-tool-in-unreal-engine/) | `HDR_` |
| [Material](https://docs.unrealengine.com/5.1/en-US/unreal-engine-materials/) | `M_` |
| [Material Instance](https://docs.unrealengine.com/5.1/en-US/instanced-materials-in-unreal-engine/) | `MI_` |
| [Physics Asset](https://docs.unrealengine.com/5.1/en-US/physics-asset-editor-in-unreal-engine/) | `PHYS_` |
| [Physics Material](https://docs.unrealengine.com/5.1/en-US/physical-materials-in-unreal-engine/) | `PM_` |
| [Post Process Material](https://docs.unrealengine.com/5.1/en-US/post-process-materials-in-unreal-engine/) | `PPM_` |
| [Skeletal Mesh](https://docs.unrealengine.com/5.1/en-US/skeletal-meshes/) | `SK_` |
| [Static Mesh](https://docs.unrealengine.com/5.1/en-US/static-meshes/) | `SM_` |
| [Texture](https://docs.unrealengine.com/5.1/en-US/textures-in-unreal-engine/) | `T_` |
| [OCIO Profile](https://docs.unrealengine.com/5.1/en-US/color-management-with-opencolorio-in-unreal-engine/) | `OCIO_` |
| **[Blueprints](https://docs.unrealengine.com/5.1/en-US/blueprints-visual-scripting-in-unreal-engine/)** |
| Actor Component | `AC_` |
| Animation Blueprint | `ABP_` |
| Blueprint Interface | `BI_` |
| Blueprint | `BP_` |
| Curve Table | `CT_` |
| Data Table | `DT_` |
| Enum | `E_` |
| Structure | `F_` |
| Widget Blueprint | `WBP_` |
| **[Particle Effects](https://docs.unrealengine.com/5.1/en-US/creating-visual-effects-in-niagara-for-unreal-engine/)** |
| Particle System (Cascade) | `PS_` |
| Niagara Emitter | `FXE_` |
| Niagara System | `FXS_` |
| Niagara Function | `FXF_` |
| **[Skeletal Mesh Animations](https://docs.unrealengine.com/5.1/en-US/skeletal-mesh-animation-system-in-unreal-engine/)** |
| Rig | `Rig_` |
| Skeleton | `SKEL_` |
| Montages | `AM_` |
| Animation Sequence | `AS_` |
| Blend Space | `BS_` |
| **[In-Camera VFX](https://docs.unrealengine.com/5.1/en-US/in-camera-vfx-in-unreal-engine/)** |
| NDisplay Configuration | `NDC_` |
| **[Animation](https://docs.unrealengine.com/5.1/en-US/cinematics-and-movie-making-in-unreal-engine/)** |
| Level Sequence | `LS_` |
| Sequencer Edits | `EDIT_` |
| **[Media](https://docs.unrealengine.com/5.1/en-US/media-framework-in-unreal-engine/)** |
| Media Source | `MS_` |
| Media Output | `MO_` |
| Media Player | `MP_` |
| Media Profile | `MPR_` |
| **Other** |
| [Level Snapshots](https://docs.unrealengine.com/5.1/en-US/level-snapshots-in-unreal-engine/) | `SNAP_` |
| [Remote Control Preset](https://docs.unrealengine.com/5.1/en-US/remote-control-for-unreal-engine/) | `RCP_` |
## Installation
```shell
poetry install
poetry shell
```
## Execution
```shell
./validate.py --path ~/path/to/human/trainer/assets/root/folder
```
## Distribution
```shell
poetry shell
poetry publish --build --username $PYPI_USERNAME --password $PYPI_PASSWORD
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Bootloader-Studio/draft-tool-asset-validator",
"name": "bootloader-uassets-validator",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "tool,utility,humantrainer,naming,convention,validation",
"author": "Daniel CAUNE",
"author_email": "daniel.caune@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/de/9a/8c05e5c7c46cdb618283dc3d265aff5d8c4379189e1c65d83d2dc3cc0a2e/bootloader_uassets_validator-0.0.1.tar.gz",
"platform": null,
"description": "# Unreal Engine Assets Validator Library\n\nCommand-line Interface (CLI) responsible for validating Unreal Engine asset files.\n\nA [`uasset` file](https://docs.unrealengine.com/5.1/en-US/assets-and-content-packs-in-unreal-engine/) is an asset file used by Unreal Editor. It contains an asset, such as a level, material, animation, sound, or particle system, used in an Unreal Engine game. Any piece of content in an Unreal Engine project is an asset.\n\n## Overview\n\nAs you develop projects in Unreal Engine (UE), the list of Assets in your Content Browser will expand. This runs the risk of creating redundant variations of assets you're experimenting with, or introducing ambiguity with overly similar names. For example, it is possible for you to have a folder named \"Soldier\" with a Blueprint, a texture, and a model that all have the name \"Soldier\" in them, but no clear way to tell which is which in a simple list.\n\nFor large projects, Epic Games recommends you establish a [common naming convention](https://docs.unrealengine.com/5.1/en-US/recommended-asset-naming-conventions-in-unreal-engine-projects/) for individual Assets early in development. This will make it easier for you and your team to locate files and prevent potential conflicts or ambiguity.\n\n```text\n[AssetTypePrefix]_[AssetName]_[Descriptor]_[OptionalVariantLetterOrNumber]\n```\n\n- `AssetTypePrefix` identifies the type of Asset, refer to the table below for details.\n- `AssetName` is the Asset's name.\n- `Descriptor` provides additional context for the Asset, to help identify how it is used. For example, whether a texture is a normal map or an opacity map.\n- `OptionalVariantLetterOrNumber` is optionally used to differentiate between multiple versions or variations of an asset.\n\nConsider using this naming convention for your own project's Assets, as it will provide multiple ways for your team to locate an Asset when searching the Content Browser.\n\n## Recommended Asset Prefixes\n\nThis list is not exhaustive, as new features can require new Asset types. If you are using an Asset type not listed, use the existing list as a guideline for your naming convention for that Asset.\n\n| ASSET | PREFIX |\n|-------------------------------------------------------------------------------------------------------------------------------|---------|\n| **General** |\n| [High Dynamic Range Image (HDRI)](https://docs.unrealengine.com/5.1/en-US/hdri-backdrop-visualization-tool-in-unreal-engine/) | `HDR_` |\n| [Material](https://docs.unrealengine.com/5.1/en-US/unreal-engine-materials/) | `M_` |\n| [Material Instance](https://docs.unrealengine.com/5.1/en-US/instanced-materials-in-unreal-engine/) | `MI_` |\n| [Physics Asset](https://docs.unrealengine.com/5.1/en-US/physics-asset-editor-in-unreal-engine/) | `PHYS_` |\n| [Physics Material](https://docs.unrealengine.com/5.1/en-US/physical-materials-in-unreal-engine/) | `PM_` |\n| [Post Process Material](https://docs.unrealengine.com/5.1/en-US/post-process-materials-in-unreal-engine/) | `PPM_` |\n| [Skeletal Mesh](https://docs.unrealengine.com/5.1/en-US/skeletal-meshes/) | `SK_` |\n| [Static Mesh](https://docs.unrealengine.com/5.1/en-US/static-meshes/) | `SM_` |\n| [Texture](https://docs.unrealengine.com/5.1/en-US/textures-in-unreal-engine/) | `T_` |\n| [OCIO Profile](https://docs.unrealengine.com/5.1/en-US/color-management-with-opencolorio-in-unreal-engine/) | `OCIO_` |\n| **[Blueprints](https://docs.unrealengine.com/5.1/en-US/blueprints-visual-scripting-in-unreal-engine/)** | \n| Actor Component | `AC_` |\n| Animation Blueprint | `ABP_` |\n| Blueprint Interface | `BI_` |\n| Blueprint | `BP_` |\n| Curve Table | `CT_` |\n| Data Table | `DT_` |\n| Enum | `E_` |\n| Structure | `F_` |\n| Widget Blueprint | `WBP_` |\n| **[Particle Effects](https://docs.unrealengine.com/5.1/en-US/creating-visual-effects-in-niagara-for-unreal-engine/)** |\n| Particle System (Cascade) | `PS_` |\n| Niagara Emitter | `FXE_` |\n| Niagara System | `FXS_` |\n| Niagara Function | `FXF_` |\n| **[Skeletal Mesh Animations](https://docs.unrealengine.com/5.1/en-US/skeletal-mesh-animation-system-in-unreal-engine/)** |\n| Rig | `Rig_` |\n| Skeleton | `SKEL_` |\n| Montages | `AM_` |\n| Animation Sequence | `AS_` |\n| Blend Space | `BS_` |\n| **[In-Camera VFX](https://docs.unrealengine.com/5.1/en-US/in-camera-vfx-in-unreal-engine/)** |\n| NDisplay Configuration | `NDC_` |\n| **[Animation](https://docs.unrealengine.com/5.1/en-US/cinematics-and-movie-making-in-unreal-engine/)** |\n| Level Sequence | `LS_` |\n| Sequencer Edits | `EDIT_` |\n| **[Media](https://docs.unrealengine.com/5.1/en-US/media-framework-in-unreal-engine/)** |\n| Media Source | `MS_` |\n| Media Output | `MO_` |\n| Media Player | `MP_` | \n| Media Profile | `MPR_` |\n| **Other** |\n| [Level Snapshots](https://docs.unrealengine.com/5.1/en-US/level-snapshots-in-unreal-engine/) | `SNAP_` |\n| [Remote Control Preset](https://docs.unrealengine.com/5.1/en-US/remote-control-for-unreal-engine/) | `RCP_` |\n\n## Installation\n\n```shell\npoetry install\npoetry shell\n```\n\n## Execution\n\n```shell\n./validate.py --path ~/path/to/human/trainer/assets/root/folder\n```\n\n## Distribution\n\n```shell\npoetry shell\npoetry publish --build --username $PYPI_USERNAME --password $PYPI_PASSWORD\n```",
"bugtrack_url": null,
"license": "Proprietary",
"summary": "Human Trainer asset file names validator",
"version": "0.0.1",
"split_keywords": [
"tool",
"utility",
"humantrainer",
"naming",
"convention",
"validation"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e89bfce691022b50ab6125589b73a1cb",
"sha256": "a21d5f2d40cc3254bd622bdb51cb2526534268770a21f9a3b1086dede9dc6e3a"
},
"downloads": -1,
"filename": "bootloader_uassets_validator-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e89bfce691022b50ab6125589b73a1cb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 16586,
"upload_time": "2022-12-13T02:42:18",
"upload_time_iso_8601": "2022-12-13T02:42:18.783382Z",
"url": "https://files.pythonhosted.org/packages/39/6f/cfe66aaee2a33d54318c27a20d14b49b5e4ed3c340eeea4ce421840e3239/bootloader_uassets_validator-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6a5e77d9ce2260e731b7e3dae21a19b9",
"sha256": "61a071d0382846759810227f99b3447cbed2bb14ab08b85110bec0f340d74b5d"
},
"downloads": -1,
"filename": "bootloader_uassets_validator-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "6a5e77d9ce2260e731b7e3dae21a19b9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 14000,
"upload_time": "2022-12-13T02:42:20",
"upload_time_iso_8601": "2022-12-13T02:42:20.402985Z",
"url": "https://files.pythonhosted.org/packages/de/9a/8c05e5c7c46cdb618283dc3d265aff5d8c4379189e1c65d83d2dc3cc0a2e/bootloader_uassets_validator-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-13 02:42:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Bootloader-Studio",
"github_project": "draft-tool-asset-validator",
"lcname": "bootloader-uassets-validator"
}