Menu
Lumberyard
User Guide (Version 1.13)

Using Asset Processor

Asset Processor is a utility that runs in the background to detect changes to your asset files. When Asset Processor detects new or updated asset files, it launches the Resource Compiler (Rc.exe), and then processes the assets and places them in the cache. Asset Processor then notifies all running game or tool instances that the assets are updated. The game can then reload the updated assets.


            Use Asset Processor to manage new and updated asset files in
                Amazon Lumberyard.

Asset Processor enables games to run on other platforms without deploying assets to that platform. Instead, the assets are accessed from the asset cache on a connected Windows or macOS system. With this feature, you can also run games that use someone else's assets.

By proxying requests through itself, Asset Processor communicates with an iOS or Android shader compiler server through a USB cable on iOS and Android.

On Windows, Asset Processor starts automatically if you run Lumberyard Editor with automatically maintained connections. Asset Processor also restarts automatically if you modify any of the data files that it needs to operate or if you retrieve a new version.

On macOS, you must manually start Asset Processor (located in the lumberyard_version/dev/BinMac64 directory) from a command line window.

Note

Symbolic links are not supported when using Asset Processor on macOS. To ensure that Asset Processor works properly on macOS, follow these guidelines:

  • Do not use a symbolic link for your cache directory when you store compiled assets in a central location.

  • Do not store your source project assets in a symbolic link directory.

  • Use a unique cache directory. Do not share the cache directory with a Windows system that is also running Asset Processor.

You don't need to close Asset Processor when you get the latest updates from source control. You can start Lumberyard Editor while Asset Processor is still processing your assets.

However, if you aren't using the game or Lumberyard Editor, you can exit Asset Processor by right-clicking its icon in the notification area on the taskbar (Windows) or menu bar (macOS).

Asset Processor can also serve files directly to running console games so that the assets aren't required to be present on the game device. This is called virtual file system (VFS) and is required for live reloading to work on those platforms. For more information, see Live Reloading and VFS.

Modifying the Asset Processor Configuration File

Use the AssetProcessorPlatformConfig.ini configuration file (located in the lumberyard_version/dev/ directory) to perform the following tasks:

  • Add new file types for Asset Processor to feed to the Resource Compiler, copy into the cache, or update existing file type rules.

  • Update the ignore list.

  • Specify which platforms are currently enabled. The default value is the host platform that Asset Processor runs on. Asset Processor automatically builds assets for the host platform. For example, if Asset Processor is running on Windows, Asset Processor builds Windows assets even if pc is not enabled in the .ini file. If Asset Processor is running on macOS, Asset Processor builds macOS assets even if osx_gl is not enabled in the .ini file. To build assets for other platforms, update the .ini file and specify the platforms that you want.

  • Add additional folders for Asset Processor to watch. For example, you can specify folders such as shared particle libraries and associated textures between projects.

  • Specify which files trigger related files to be rebuilt. This is called metafile fingerprinting.

To add game-specific overrides, you can add a file named AssetProcessorGamePlatformConfig.ini to your game assets directory. This file is read after the root configuration file and can have additional game-specific settings for the ignore list, platforms, and file types.

For more information about these configuration files, see Configuring the Asset Pipeline.

Using the Asset Processor Batch File

The AssetProcessorBatch.exe file compiles all assets for the current project and enabled platforms. If the file succeeds without errors, it exits with a 0 code. You can use the file as part of your build system for automation.

The AssetProcessorBatch.exe file accepts the following command line parameters for overriding the default behavior:

  • /platforms=comma separated list

  • /gamefolder=name of game folder

Example:

AssetProcessorBatch.exe /platforms=pc,ios /gamefolder=SamplesProject

Debugging Asset Processor

To debug Asset Processor issues, do the following:

  • Exit Asset Processor and then restart it from the project or branch that you're currently working in. You may need to quit Asset Processor in the notification area on the Windows taskbar.

  • Clear the asset cache by deleting the Cache folder located in the lumberyard_version/dev/ directory when Asset Processor is not running. Restart Asset Processor to rebuild all assets.