Asset Processor Faster Scanning Mode

Faster Scanning Mode speeds up Asset Processor’s startup scan by using timestamps to track source asset changes rather than file hashes. Faster Scanning Mode also skips checks for cache changes that occurred while Asset Processor was not running. This can save time when processing many assets in a project. You can switch scan modes at any time without restarting the Asset Processor, including during an asset scan. Asset Processor saves your preference between sessions.

Choose a scan mode

The Faster Scanning Mode settings in Asset Processor

Faster Scanning Mode is on by default. To disable Faster Scanning Mode, do the following:

  1. Choose the Tools tab in Asset Processor.
  2. Uncheck the Faster Scanning Mode option.
Note:
When Faster Scanning Mode is disabled, file hashes are used to check for updated source assets and source dependencies. This might significantly increase analysis time.

You can use the command line option below to activate Faster Scanning Mode for Asset Processor Batch.

AssetProcessorBatch.exe --zeroAnalysisMode

Faster scanning mode feedback

Faster Scanning Mode provides feedback about how many files it finds, processes, and skips. In Asset Processor, this information is shown in the Logs tab. In Asset Processor Batch, this information is sent to stdout as in the example output below.

5303 files reported from scanner. 2903 unchanged files skipped, 2400 files processed

Source asset scanning

When analyzing source assets, Asset Processor performs a series of low cost checks. If any of these checks fail, the source asset goes through the normal, unchanged analysis pipeline, and the Faster Scanning Mode has no effect for that source asset.

CostCheck
Very LowCollect timestamp information for every file scanned as part of Asset Processor startup.
Very LowCheck whether any Asset Builders had version or fingerprint changes by comparing Asset Builder fingerprints to the previous process jobs.
Very LowCompare the source asset timestamps with the timestamps in the Asset Database.
LowQuery the Asset Database files table to get a list of every asset and its timestamp from previous process jobs.
LowQuery the Asset Database sources table to get a list of the Asset Builder fingerprint for every source asset.

Full Scan

You can perform a Full Scan, even when Faster Scanning Mode is active. A Full Scan performs the analysis actions in the table below. Actions with a Low cost estimate contribute to less than 1% of the total scan time.

CostAnalysis
LowDetermine which Asset Builders are responsible for building an asset.
LowCheck source assets against the Asset Database to get information about previous process jobs.
LowCompare the new job fingerprints against the previous jobs.
ModerateGenerate a job fingerprint that includes timestamps of source assets and dependencies and the versions of the Asset Builders.
HighCheck the Asset Cache and ensure that every product asset previously generated for the source asset is still present.
Very HighSend a Create Jobs request to the registered Asset Builders so that they can spawn jobs for the job queue.

A source asset found during the scan can be excluded from reanalysis if it meets all of the criteria below:

  • The source asset hasn’t changed on disk (its timestamp matches the timestamp in the Asset Database).
  • The source assets’s dependencies haven’t changed on disk (the source dependency timestamps match the timestamps in the Asset Database).
  • The most recent process jobs for the source asset succeeded without errors or warnings.
  • The version and fingerprint of the Asset Builders that processed the source asset have not changed.
  • There are no new Asset Builders that may process the source file.
  • No Asset Builders that could have operated on the source file have been removed.
  • No Asset Builders have changed the set of source files.

Perform a full scan

A full scan checks the Asset Cache for product assets and rebuilds the appropriate source assets. To start a full scan, follow the steps below:

  1. Choose the Tools tab in Asset Processor.
  2. Choose Start Scan.
Note:
If you are having issues with the Asset Cache, performing a full scan might resolve the issues. If a full scan does not repair the Asset Cache, you can rebuild the entire Asset Cache by deleting the Cache directory in your project. If you’re an engineer making BuilderSDK-based Asset Builders, deleting the cache is not recommended.

Copyright © 2022 Open 3D Engine Contributors

Documentation Distributed under CC BY 4.0.
For our trademark, privacy and antitrust policies, code of conduct, and terms of use, please click the applicable link below or see https://www.lfprojects.org.


The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Policy page.