LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder * Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file * Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message * Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and @ENGINEROOT@/EngineAssets/Editor path for engine tool assets * Updating references to Icons and other assets to account for moving the Engine and Editor folder under a single EngineAssets folder * Moving the Engine Settings Registry folder from Engine/Registry -> Registry * Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator * Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now * Fixed Atom Shader Preprocessing when running using an External Project * Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable * Updated the Install_Common.cmake ly_setup_others function to install the EngineAssets directory and the each of the Gem's Assets directory while maintaining the relative directory structure to the Engine Root Also updated the install step to install the Registry folder at the engine root * Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder * Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder * Updated the LyTestTools and C++ code to point that the new location of the AssetProcessorPlatformConfig.setreg file inside of the Registry folder * Renamed Test AssetProcessor*Config.ini files to have the .setreg extension * Converted the AssetProcessor test setreg files from ini format to json format using the SerializeContextTools convert-ini command * Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder * Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames * Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder * Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available * Updating the Install_common.cmake logic to copy any "Assets" folder to the install layout. The Script has also been updated to copy over the "Assets" folder in the Engine Root to the install layout instead of an "EngineAssets" folder * Updating References to EngineAssets source asset folder in code to be the Assets source folder * Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders * Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner * Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the output prefix, but instead place the source asset root into a subdirectory * Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory * Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
This commit is contained in:
committed by
GitHub
parent
ed74bb9166
commit
3dec5d3b71
@@ -0,0 +1,610 @@
|
||||
{
|
||||
// ---- Enable/Disable platforms for the entire project. AssetProcessor will automatically add the current platform by default.
|
||||
|
||||
// PLATFORM DEFINITIONS
|
||||
// [Platform (unique identifier)]
|
||||
// tags=(comma-seperated-tags)
|
||||
//
|
||||
// note: the 'identifier' of a platform is the word(s) following the "Platform" keyword (so [Platform pc] means identifier
|
||||
// is 'pc' for example. This is used to name its assets folder in the cache and should be used in your bootstrap.cfg
|
||||
// or your main.cpp to choose what assets to load for that particular platform.
|
||||
// Its primary use is to enable additional non-host platforms (Ios, android...) that are not the current platform.
|
||||
// note: 'tags' is a comma-seperated list of tags to tag the platform with that builders can inspect to decide what to do.
|
||||
|
||||
// while builders can accept any tags you add in order to make decisions, common tags are
|
||||
// tools - this platform can host the tools and editor and such
|
||||
// renderer - this platform runs the client engine and renders on a GPU. If missing we could be on a server-only platform
|
||||
// mobile - a mobile platform such as a set top box or phone with limited resources
|
||||
// console - a console platform
|
||||
// server - a server platform of some kind, usually headless, no renderer.
|
||||
|
||||
"Amazon": {
|
||||
"AssetProcessor": {
|
||||
"Settings": {
|
||||
"Platform pc": {
|
||||
"tags": "tools,renderer,dx12,vulkan,null"
|
||||
},
|
||||
"Platform es3": {
|
||||
"tags": "android,mobile,renderer,vulkan"
|
||||
},
|
||||
"Platform ios": {
|
||||
"tags": "mobile,renderer,metal"
|
||||
},
|
||||
"Platform osx_gl": {
|
||||
"tags": "tools,renderer,metal,null"
|
||||
},
|
||||
// this is an example of a headless platform that has no renderer.
|
||||
// To use this you would still need to make sure 'assetplatform' in your startup params in your main() chooses this 'server' platform as your server 'assets' flavor
|
||||
"Platform server": {
|
||||
"tags": "server,dx12,vulkan"
|
||||
},
|
||||
// this section allows you to turn on various platforms in addition to the host platform you're running on
|
||||
// 'enabled' is AUTOMATICALLY TRUE for the current platform that you are running on, so it is not necessary to force it to true for that platform
|
||||
// To enable any additional platform, just uncomment the appropriate line below.
|
||||
"Platforms": {
|
||||
//"pc": "enabled",
|
||||
//"es3": "enabled",
|
||||
//"ios": "enabled",
|
||||
//"osx_gl": "enabled",
|
||||
//"server": "enabled"
|
||||
},
|
||||
// ---- The number of worker jobs, 0 means use the number of Logical Cores
|
||||
"Jobs": {
|
||||
"minJobs": 1,
|
||||
"maxJobs": 0
|
||||
},
|
||||
// cacheServerAddress is the location of the asset server cache.
|
||||
// Currently for a network share server this would be the absolute file path to the network share folder.
|
||||
"Server": {
|
||||
//"cacheServerAddress": ""
|
||||
},
|
||||
|
||||
// ---- add any metadata file type here that needs to be monitored by the AssetProcessor.
|
||||
// Modifying these meta file will cause the source asset to re-compile again.
|
||||
// They are specified in the following format
|
||||
// metadata extension=original extension to replace
|
||||
// if the metadata extension does not replace the original, then the original can be blank
|
||||
// so for example if your normal file is blah.tif and your metafile for that file is blah.tif.exportsettings
|
||||
// then your declaration would be exportsettings= ; ie, it would be blank
|
||||
// however if your metafile REPLACES the extension (for example, if you have the file blah.i_caf and its metafile is blah.exportsettings)
|
||||
// then you specify the original extension here to narrow the scope.
|
||||
// If a relative path to a specific file is provided instead of an extension, a change to the file will change all files
|
||||
// with the associated extension (e.g. Animations/SkeletonList.xml=i_caf will cause all i_caf files to recompile when
|
||||
// Animations/SkeletonList.xml within the current game project changes)
|
||||
|
||||
"MetaDataTypes": {
|
||||
"animsettings": "i_caf",
|
||||
"Animations/SkeletonList.xml": "i_caf",
|
||||
"cbc": "abc",
|
||||
"fbx.assetinfo": "fbx"
|
||||
},
|
||||
|
||||
// ---- add any folders to scan here. The priority order is the order they appear here
|
||||
// available macros are
|
||||
// @ROOT@ - the location of asset root
|
||||
// @PROJECTROOT@ - the location of the project root, for example 'Q:\MyProjects\RPGSample'
|
||||
// note that they are sorted by their 'order' value, and the lower the order the more important an asset is
|
||||
// lower order numbers override higher ones.
|
||||
// If specified, output will be prepended to every path found in that recognizer's watch folder.
|
||||
// Note that you can also make the scan folder platform specific by using the keywords include and exclude.
|
||||
// Both include and exclude can contain either platform tags, platform identifiers or both.
|
||||
// if no include is specified, all currently enabled platforms are included by default.
|
||||
// If includes ARE specified, it will be filtered down by the list of currently enabled platforms.
|
||||
// "ScanFolder (unique identifier)": {
|
||||
// "include": "(comma seperated platform tags or identifiers)",
|
||||
// "exclude": "(comma seperated platform tags or identifiers)"
|
||||
// }
|
||||
// For example if you want to include a scan folder only for platforms that have the platform tags tools and renderer
|
||||
// but omit it for platform osx_gl, you will have a scanfolder rule like
|
||||
// "ScanFolder (unique identifier)": {
|
||||
// "watch": "@ROOT@/foo",
|
||||
// "include": "tools, renderer",
|
||||
// "exclude": "osx_gl"
|
||||
// }
|
||||
|
||||
"ScanFolder Game": {
|
||||
"watch": "@PROJECTROOT@",
|
||||
"display": "@PROJECTNAME@",
|
||||
"recursive": 1,
|
||||
"order": 0
|
||||
},
|
||||
// gems will be auto-added from 100 onwards
|
||||
"ScanFolder Root": {
|
||||
"watch": "@ROOT@",
|
||||
"recursive": 0,
|
||||
"order": 10000
|
||||
},
|
||||
"ScanFolder Assets/Runtime": {
|
||||
"watch": "@ENGINEROOT@/Assets/Engine",
|
||||
"recursive": 1,
|
||||
"order": 20000
|
||||
},
|
||||
"ScanFolder Assets/Tools": {
|
||||
"watch": "@ENGINEROOT@/Assets/Editor",
|
||||
"recursive": 1,
|
||||
"order": 30000,
|
||||
"include": "tools,renderer"
|
||||
},
|
||||
|
||||
// Excludes files that match the pattern or glob
|
||||
// if you use a pattern, remember to escape your backslashes (\\)
|
||||
"Exclude _LevelBackups": {
|
||||
"pattern": ".*\\\\/Levels\\\\/.*\\\\/_savebackup\\\\/.*"
|
||||
},
|
||||
"Exclude _LevelAutoBackups": {
|
||||
"pattern": ".*\\\\/Levels\\\\/.*\\\\/_autobackup\\\\/.*"
|
||||
},
|
||||
"Exclude HoldFiles": {
|
||||
"pattern": ".*\\\\/Levels\\\\/.*_hold\\\\/.*"
|
||||
},
|
||||
// note that $ has meaning to regex, so we escape it.
|
||||
"Exclude TempFiles": {
|
||||
"pattern": ".*\\\\/\\\\$tmp[0-9]*_.*"
|
||||
},
|
||||
"Exclude AlembicCompressionTemplates": {
|
||||
"pattern": ".*\\\\/Presets\\\\/GeomCache\\\\/.*"
|
||||
},
|
||||
"Exclude TmpAnimationCompression": {
|
||||
"pattern": ".*\\\\/Editor\\\\/Tmp\\\\/AnimationCompression\\\\/.*"
|
||||
},
|
||||
"Exclude EventLog": {
|
||||
"pattern": ".*\\\\/Editor\\\\/.*eventlog\\\\.xml"
|
||||
},
|
||||
"Exclude GameGemsCode": {
|
||||
"pattern": ".*\\\\/Gem\\\\/Code\\\\/.*"
|
||||
},
|
||||
"Exclude GameGemsResources": {
|
||||
"pattern": ".*\\\\/Gem\\\\/Resources\\\\/.*"
|
||||
},
|
||||
"Exclude Private Certs": {
|
||||
"pattern": ".*\\DynamicContent\\\\/Certificates\\\\/Private\\\\/.*"
|
||||
},
|
||||
"Exclude CMakeLists": {
|
||||
"pattern": ".*\\\\/CMakeLists.txt"
|
||||
},
|
||||
"Exclude CMakeFiles": {
|
||||
"pattern": ".*\\\\/.*\\\\.cmake"
|
||||
},
|
||||
"Exclude User": {
|
||||
"pattern": ".*/[Uu]ser/.*"
|
||||
},
|
||||
"Exclude Build": {
|
||||
"pattern": ".*/[Bb]uild/.*"
|
||||
},
|
||||
"Exclude UserSettings": {
|
||||
"pattern": ".*/UserSettings.xml"
|
||||
},
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Large Worlds Test
|
||||
// ------------------------------------------------------------------------------
|
||||
"Exclude Work In Progress Folders": {
|
||||
"pattern": ".*\\\\/WIP\\\\/.*"
|
||||
},
|
||||
"Exclude Content Source Folders": {
|
||||
"pattern": ".*\\\\/CONTENT_SOURCE\\\\/.*"
|
||||
},
|
||||
"Exclude Art Source Folders": {
|
||||
"pattern": ".*\\\\/ArtSource\\\\/.*"
|
||||
},
|
||||
//------------------------------------------------------------------------------
|
||||
// RC params mapping examples
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// note that productAssetType is a means of setting the output asset Type (as in AZ::Data::AssetType) of a simple job
|
||||
// and is the recommended way to specify that a certain kind of file (such as '*.myextension') becomes registered as the
|
||||
// actual UUID of that type in the engine itself.
|
||||
|
||||
// Use a regex for matching files, same params for all platforms
|
||||
// "RC TGAs": {
|
||||
// "pattern": ".+\\\\.tga$",
|
||||
// "params": "/tga /texture"
|
||||
//}
|
||||
|
||||
// Use a glob, have special params for es3 platform
|
||||
// "RC TIFFs": {
|
||||
// "glob": "*.tif",
|
||||
// "params": "/texture",
|
||||
// "es3": "/pvrt"
|
||||
//}
|
||||
|
||||
// You can also modify a version to compile all matching files again
|
||||
// By default the version is empty
|
||||
// "RC tif": {
|
||||
// "glob": "*.tif",
|
||||
// "params": "\\someparams",
|
||||
// "version": 1.0
|
||||
//}
|
||||
// This will make the AssetProcessor compile all the .tif files again
|
||||
|
||||
// you can also optionally supply a priority.
|
||||
// this is used to sort jobs when no other external circumstance sorts them
|
||||
// for example, copy jobs will be higher in priority than other jobs that are not copy jobs
|
||||
// however if they're both copy jobs or both not, and no other circumstances apply, then priority will be used.
|
||||
// default priority is zero if not specified
|
||||
|
||||
// you can specify an option to skip processing for a file type based on the platform.
|
||||
// for example, if you dont want to process tif files for ios, you can make tif files
|
||||
// process on any platform except for ios:
|
||||
// "RC tif": {
|
||||
// "glob": "*.tif",
|
||||
// "params": "\\someparams",
|
||||
// "ios": "skip"
|
||||
//}
|
||||
|
||||
// you can specify an option to output product dependencies for a copy job.
|
||||
// please note that you only need to set this option when cry code is required to parse the asset.
|
||||
// otherwise product dependencies will be output automatically by the CopyDependencyBuilder.
|
||||
// for example, if you want to output the product dependencies for font assets:
|
||||
// "RC font": {
|
||||
// "glob": "*.font",
|
||||
// "params": "copy",
|
||||
// "outputProductDependencies": true
|
||||
//}
|
||||
|
||||
// you can also specify an option to make all jobs critical that matches some pattern/glob.
|
||||
// for example, if you want to make all png files critical than set critical to true.
|
||||
// Note that by default all copy jobs are critical.
|
||||
// Critical jobs are processed before non critical jobs and also prevent the runtime or editor from starting until they are all complete.
|
||||
// "RC png": {
|
||||
// "glob": "*.png",
|
||||
// "params": "\\someparams",
|
||||
// "critical": true
|
||||
//}
|
||||
|
||||
// you can also specify an option to make all the job store in the asset server cache location if you are running AP in server mode.
|
||||
// For example, if you want to store all png jobs in the asset server cache location including their logs, you can set checkServer = true.
|
||||
// The client(i.e if you are running AP in non-server mode) will also check for this flag to know which jobs to fetch from the asset server cache location.
|
||||
// if unsucessful, it will process the job locally as usual.
|
||||
// "RC png": {
|
||||
// "glob": "*.png",
|
||||
// "params": "\\someparams",
|
||||
// "critical": true,
|
||||
// "checkServer": true
|
||||
//}
|
||||
|
||||
// note that the FULL PATH to the file will be used as the match, not the relative path
|
||||
// so ensure start your patterns with .* or as appropriate.
|
||||
// Also, any rules which match will apply - so if you have two rules which both apply to PNG files for example
|
||||
// but you only want one, you might want to use exclusion patterns:
|
||||
|
||||
//Example: process everything EXCEPT the ones in the libs/ui folder with these params
|
||||
// "RC png-normal": {
|
||||
// "pattern": "(?!.*libs\\\\/ui\\\\/).*\\.png",
|
||||
// "params": "/imagecompressor=CTSquish /streaming=0",
|
||||
// "lockSource": true
|
||||
//}
|
||||
|
||||
//Example: Process everything in the libs/ui folder with linear color space
|
||||
// "RC png-ui": {
|
||||
// "pattern": "(.*libs\\\\/ui\\\\/).*\\.png",
|
||||
// "params": "/imagecompressor=CTSquish /streaming=0 /colorspace=linear,linear",
|
||||
// "lockSource": true
|
||||
//}
|
||||
|
||||
// More example Regexes:
|
||||
// "pattern": "(?!(.*libs\\\\/ui\\\\/)|(.*editor\\\\/).*\\\\.png"
|
||||
// This pattern will not match anything with editor/ or libs/ui/ in it
|
||||
// "pattern": "((.*libs\\\\/ui\\\\/)|(.*editor\\\\/).*\\\\.png"
|
||||
// This pattern will only match anything with editor/ or libs/ui/ in it
|
||||
|
||||
// Give every [Section Name] its own unique Name or else they will overwrite each other!
|
||||
"RC i_caf": {
|
||||
"glob": "*.i_caf",
|
||||
"params": "/cafAlignTracks=1 /animConfigFolder=Animations /skipdba=1 /refresh=1",
|
||||
// force server to send the 'pc' platform to RC.EXE so it compiles the same as PC.
|
||||
"server": "/cafAlignTracks=1 /animConfigFolder=Animations /skipdba=1 /refresh=1 /p=pc",
|
||||
"priority": 5,
|
||||
"productAssetType": "{6023CFF8-FCBA-4528-A8BF-6E0E10B9AB9C}"
|
||||
},
|
||||
"RC caf": {
|
||||
"glob": "*.caf",
|
||||
"params": "copy",
|
||||
"productAssetType": "{6023CFF8-FCBA-4528-A8BF-6E0E10B9AB9C}"
|
||||
},
|
||||
"RC mp4": {
|
||||
"glob": "*.mp4",
|
||||
"params": "copy",
|
||||
"productAssetType": "{DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}"
|
||||
},
|
||||
"RC mkv": {
|
||||
"glob": "*.mkv",
|
||||
"params": "copy",
|
||||
"productAssetType": "{DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}"
|
||||
},
|
||||
"RC webm": {
|
||||
"glob": "*.webm",
|
||||
"params": "copy",
|
||||
"productAssetType": "{DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}"
|
||||
},
|
||||
"RC mov": {
|
||||
"glob": "*.mov",
|
||||
"params": "copy",
|
||||
"productAssetType": "{DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}"
|
||||
},
|
||||
"RC bk2": {
|
||||
"glob": "*.bk2",
|
||||
"params": "copy",
|
||||
"productAssetType": "{BF4879B9-B893-41D2-80E9-24A7BDCD2B50}"
|
||||
},
|
||||
"RC img": {
|
||||
"glob": "*.img",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC dba": {
|
||||
"glob": "*.dba",
|
||||
"params": "copy",
|
||||
"productAssetType": "{511562BE-65A5-4538-A5F1-AC685366243E}",
|
||||
"version": 2
|
||||
},
|
||||
"RC cgf": {
|
||||
"glob": "*.cgf",
|
||||
"params": "/VertexPositionFormat=exporter /VertexIndexFormat=u32",
|
||||
// on server, feed rc.exe the param /p=pc to force it to compile assets for server platform in pc format.
|
||||
"server": "/VertexPositionFormat=exporter /VertexIndexFormat=u32 /p=pc",
|
||||
"lockSource": true,
|
||||
"priority": 10
|
||||
// allow CGF files to compile first, so untextured models appear before their textures for faster startup
|
||||
// other available params: /SplitLODs=1
|
||||
},
|
||||
"RC surfaceTagNameList": {
|
||||
"glob": "*.surfaceTagNameList",
|
||||
"params": "copy",
|
||||
"productAssetType": "{A471B2A9-85FC-4993-842D-1881CBC03A2B}"
|
||||
},
|
||||
"RC gradImageSettings": {
|
||||
"glob": "*.gradimagesettings",
|
||||
"params": "copy",
|
||||
"productAssetType": "{B36FEB5C-41B6-4B58-A212-21EF5AEF523C}"
|
||||
},
|
||||
"RC fbx": {
|
||||
"glob": "*.fbx",
|
||||
// Priority set to 9 so its "before" things like materials but after things like actors and motions (which build using a proper AssetBuilderSDK builder and thus are not in this file)
|
||||
"priority": 9,
|
||||
"version": 5
|
||||
},
|
||||
"RC chr": {
|
||||
"glob": "*.chr",
|
||||
"params": "copy",
|
||||
"productAssetType": "{60161B46-21F0-4396-A4F0-F2CCF0664CDE}",
|
||||
"version": 2
|
||||
},
|
||||
"RC skin": {
|
||||
"glob": "*.skin",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC cfi": {
|
||||
"glob": "*.cfi",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC cfx": {
|
||||
"glob": "*.cfx",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC cfr": {
|
||||
"glob": "*.cfr",
|
||||
"params": "copy"
|
||||
},
|
||||
// Warning: If you change the VertexIndexFormat, make sure you update the vtx_idx typedef in Code\CryEngine\CryCommon\ProjectDefines.h
|
||||
"RC abc": {
|
||||
"glob": "*.abc",
|
||||
"params": "/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u32",
|
||||
"console": "/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u32",
|
||||
"mobile": "/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u16",
|
||||
"version": 3,
|
||||
"server": "skip"
|
||||
},
|
||||
"RC png-entityicon": {
|
||||
"pattern": "(.*EntityIcons\\\\/).*\\\\.png",
|
||||
"productAssetType": "{3436C30E-E2C5-4C3B-A7B9-66C94A28701B}",
|
||||
"params": "skip",
|
||||
"tools": "copy"
|
||||
},
|
||||
"RC usm": {
|
||||
"glob": "*.usm",
|
||||
"params": "copy",
|
||||
"server": "skip"
|
||||
},
|
||||
"RC animevents": {
|
||||
"glob": "*.animevents",
|
||||
"params": "copy",
|
||||
"productAssetType": "{C1D209C1-F81A-4586-A34E-1615995F9F3F}",
|
||||
"version": 2
|
||||
},
|
||||
"RC adb": {
|
||||
"glob": "*.adb",
|
||||
"params": "copy",
|
||||
"productAssetType": "{50908273-CA36-4668-9828-15DD5092F973}"
|
||||
},
|
||||
"RC bspace": {
|
||||
"glob": "*.bspace",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC cdf": {
|
||||
"glob": "*.cdf",
|
||||
"params": "copy",
|
||||
"productAssetType": "{DF036C63-9AE6-4AC3-A6AC-8A1D76126C01}"
|
||||
},
|
||||
// note - this used to be skinnedMeshAsset but its now Character Definition File specific.
|
||||
// .skin has its own type.
|
||||
|
||||
"RC chrparams": {
|
||||
"glob": "*.chrparams",
|
||||
"params": "copy",
|
||||
"productAssetType": "{4BBB785A-6824-4803-A607-F9323E7BEEF1}",
|
||||
"version": 2
|
||||
},
|
||||
"RC comb": {
|
||||
"glob": "*.comb",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC dlg": {
|
||||
"glob": "*.dlg",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC csv": {
|
||||
"glob": "*.csv",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC json": {
|
||||
"glob": "*.json",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC lmg": {
|
||||
"glob": "*.lmg",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC smtl": {
|
||||
"glob": "*.smtl",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC sub": {
|
||||
"glob": "*.sub",
|
||||
"params": "copy",
|
||||
"productAssetType": "{71F9D30E-13F7-40D6-A3C9-E5358004B31F}",
|
||||
"version": 2
|
||||
},
|
||||
"RC sbsar": {
|
||||
"glob": "*.sbsar",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC loc.agsxml": {
|
||||
"glob": "*.loc.agsxml",
|
||||
"params": "copy",
|
||||
"version": 1
|
||||
},
|
||||
"RC node": {
|
||||
"glob": "*.node",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC veg": {
|
||||
"glob": "*.veg",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC dat": {
|
||||
"glob": "*.dat",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC lut": {
|
||||
"glob": "*.lut",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC txt": {
|
||||
"pattern": "^(?!.*PreloadLibs.txt).*\\\\.txt",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC cal": {
|
||||
"glob": "*.cal",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC grp": {
|
||||
"glob": "*.grp",
|
||||
"params": "copy",
|
||||
"productAssetType": "{7629EDD3-A361-49A2-B271-252127097D81}",
|
||||
"version": 2
|
||||
},
|
||||
"RC xls": {
|
||||
"glob": "*.xls",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC ini": {
|
||||
"glob": "*.ini",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC ttf": {
|
||||
"glob": "*.ttf",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC otf": {
|
||||
"glob": "*.otf",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC ext": {
|
||||
"glob": "*.ext",
|
||||
"params": "copy"
|
||||
},
|
||||
// Copy all pak files except level.pak, level.pak has its own builder.
|
||||
"RC pak": {
|
||||
"pattern": "^((?!\\\\/level\\\\.pak).)*\\\\.pak$",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC ctc": {
|
||||
"glob": "*.ctc",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC uiprefab": {
|
||||
"glob": "*.uiprefab",
|
||||
"params": "copy",
|
||||
"server": "skip"
|
||||
},
|
||||
"RC sprite": {
|
||||
"glob": "*.sprite",
|
||||
"params": "copy",
|
||||
"server": "skip"
|
||||
},
|
||||
"RC bin": {
|
||||
"glob": "*.bin",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC inputbindings": {
|
||||
"glob": "*.inputbindings",
|
||||
"params": "copy",
|
||||
"productAssetType": "{25971C7A-26E2-4D08-A146-2EFCC1C36B0C}"
|
||||
},
|
||||
"RC physmaterial": {
|
||||
"glob": "*.physmaterial",
|
||||
"params": "copy",
|
||||
"productAssetType": "{9E366D8C-33BB-4825-9A1F-FA3ADBE11D0F}"
|
||||
},
|
||||
"RC ocm": {
|
||||
"glob": "*.ocm",
|
||||
"params": "copy"
|
||||
},
|
||||
// Feature tests use the raw .tif files for the golden image comparison
|
||||
"RC goldenimages": {
|
||||
"pattern": ".*GoldenImages\\\\/.*\\\\.tif",
|
||||
"params": "copy",
|
||||
"server": "skip"
|
||||
},
|
||||
// Copy over certificates for use with FileDataSource
|
||||
"RC CertificatePEM": {
|
||||
"glob": "*.pem",
|
||||
"params": "copy"
|
||||
},
|
||||
// Copy over certificates for use with Dynamic Content
|
||||
"RC CertificateDER": {
|
||||
"glob": "*.der",
|
||||
"params": "copy"
|
||||
},
|
||||
"RC PhysXMeshAsset": {
|
||||
"glob": "*.pxmesh",
|
||||
"params": "copy",
|
||||
"productAssetType": "{7A2871B9-5EAB-4DE0-A901-B0D2C6920DDB}"
|
||||
},
|
||||
// Copy over cooked PhysX heightfield
|
||||
"RC PhysX HeightField": {
|
||||
"glob": "*.pxheightfield",
|
||||
"params": "copy",
|
||||
"productAssetType": "{B61189FE-B2D7-4AF1-8951-CB5C0F7834FC}"
|
||||
},
|
||||
"RC filetag": {
|
||||
"glob": "*.filetag",
|
||||
"params": "copy",
|
||||
"productAssetType": "{F3BE5CAB-85B7-44B7-9495-863863F6B267}"
|
||||
},
|
||||
// Precompiled shader srg
|
||||
"RC azsrg": {
|
||||
"glob": "*.azsrg",
|
||||
"params": "copy",
|
||||
"productAssetType": "{F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}"
|
||||
},
|
||||
// Precompiled shader variant
|
||||
"RC azshadervariant": {
|
||||
"glob": "*.azshadervariant",
|
||||
"params": "copy",
|
||||
"productAssetType": "{9F4D654B-4439-4C61-8DCD-F1C7C5560768}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::WindowsStorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024,
|
||||
// The maximum number of files to keep the meta data such as the size around for.
|
||||
"MaxMetaDataCache": 1024,
|
||||
// Number of requests the drive keeps after its queue is full.
|
||||
// Overcommitting allows for requests to be immediately available after a request completes without needing
|
||||
// any scheduling, but this also doesn't allow these requests to be rescheduled or updated.
|
||||
"Overcommit": 8,
|
||||
// Allows files to be shared. This can be needed if the file needs to be opened in multiple locations, such
|
||||
// as the editor and the Asset Processor. Turning this feature on comes at a small performance cost.
|
||||
"EnableFileSharing": true,
|
||||
// Unbuffered reads bypass the OS file cache for faster file reads. This helps speed up initial file loads
|
||||
// and is best for applications that only read a file once such as the game. For applications that frequently
|
||||
// re-read files such as the editor it's better to turn this feature off.
|
||||
"EnableUnbufferedReads": false,
|
||||
// If true, only information that's explicitly requested or issues are reported. If false, status information
|
||||
// such as when drives are created and destroyed is reported as well.
|
||||
"MinimalReporting": false
|
||||
},
|
||||
{
|
||||
"$type": "AzFramework::RemoteStorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"UseAllHardware": false,
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::WindowsStorageDriveConfig",
|
||||
// The maximum number of file handles that are cached. Only a small number are needed when running from
|
||||
// archives, but it's recommended that a larger number are kept open when reading from loose files.
|
||||
"MaxFileHandles": 32,
|
||||
// The maximum number of files to keep meta data, such as the file size, to cache. Only a small number are
|
||||
// needed when running from archives, but it's recommended that a larger number are kept open when reading
|
||||
// from loose files.
|
||||
"MaxMetaDataCache": 32,
|
||||
// The number of additional slots that will be reported as available. This makes sure that there are always
|
||||
// a few requests pending to avoid starvation. An over-commit that is too large can negatively impact the
|
||||
// scheduler's ability to re-order requests for optimal read order. A negative value will under-commit and
|
||||
// will avoid saturating the IO controller which can be needed if the drive is used by other applications.
|
||||
"Overcommit": 8,
|
||||
// Globally enable file sharing. This allows files to used outside AZ::IO::Streamer, including other
|
||||
// applications while in use by AZ::IO::Streamer. File sharing can negatively impact performance and is
|
||||
// recommended for development only.
|
||||
"EnableFileSharing": false,
|
||||
// Use unbuffered reads for the fastest possible read speeds by bypassing the Windows file cache. This
|
||||
// results in a faster read the first time a file is read, but subsequent reads will possibly be slower as
|
||||
// those could have been serviced from the faster OS cache. During development or for games that reread
|
||||
// files frequently it's recommended to set this option to false, but generally it's best to be turned on.
|
||||
"EnableUnbufferedReads": true,
|
||||
// If true, only information that's explicitly requested or issues are reported. If false, status information
|
||||
// such as when drives are created and destroyed is reported as well.
|
||||
"MinimalReporting": false
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::ReadSplitterConfig",
|
||||
"BufferSizeMib": 6,
|
||||
"SplitSize": "MaxTransfer",
|
||||
"AdjustOffset": true,
|
||||
"SplitAlignedRequests": false
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::BlockCacheConfig",
|
||||
"CacheSizeMib": 10,
|
||||
"BlockSize": "MaxTransfer"
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::DedicatedCacheConfig",
|
||||
"CacheSizeMib": 2,
|
||||
"BlockSize": "MemoryAlignment",
|
||||
"WriteOnlyEpilog": true
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::FullFileDecompressorConfig",
|
||||
"MaxNumReads": 2,
|
||||
"MaxNumJobs": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"DevMode":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::WindowsStorageDriveConfig",
|
||||
"MaxFileHandles": 1024,
|
||||
"MaxMetaDataCache": 1024,
|
||||
"Overcommit": 8,
|
||||
"EnableFileSharing": false,
|
||||
"EnableUnbufferedReads": false
|
||||
},
|
||||
{
|
||||
"$type": "AzFramework::RemoteStorageDriveConfig",
|
||||
"MaxFileHandles": 1024
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"ReportHardware": false,
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
"MaxFileHandles": 1024
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::WindowsStorageDriveConfig",
|
||||
"MaxFileHandles": 1024,
|
||||
"MaxMetaDataCache": 1024,
|
||||
"Overcommit": 8,
|
||||
"EnableFileSharing": false,
|
||||
"EnableUnbufferedReads": true,
|
||||
"MinimalReporting": true
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::ReadSplitterConfig",
|
||||
"BufferSizeMib": 10,
|
||||
"SplitSize": "MaxTransfer",
|
||||
"AdjustOffset": true,
|
||||
"SplitAlignedRequests": false
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::BlockCacheConfig",
|
||||
"CacheSizeMib": 10,
|
||||
"BlockSize": "MaxTransfer"
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::DedicatedCacheConfig",
|
||||
"CacheSizeMib": 10,
|
||||
"BlockSize": "MemoryAlignment",
|
||||
"WriteOnlyEpilog": true
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::FullFileDecompressorConfig",
|
||||
"MaxNumReads": 4,
|
||||
"MaxNumJobs": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"Amazon": {
|
||||
"AzCore": {
|
||||
"Bootstrap": {
|
||||
"remote_filesystem": 0,
|
||||
"provo_remote_filesystem": 0,
|
||||
"android_remote_filesystem": 0,
|
||||
"ios_remote_filesystem": 0,
|
||||
"mac_remote_filesystem": 0,
|
||||
"assets": "pc",
|
||||
"android_assets": "es3",
|
||||
"ios_assets": "ios",
|
||||
"mac_assets": "osx_gl",
|
||||
"allowed_list": "",
|
||||
"remote_ip": "127.0.0.1",
|
||||
"remote_port": 45643,
|
||||
"connect_to_remote": 0,
|
||||
"windows_connect_to_remote": 1,
|
||||
"provo_connect_to_remote": 1,
|
||||
"salem_connect_to_remote": 0,
|
||||
"jasper_connect_to_remote": 0,
|
||||
"android_connect_to_remote": 0,
|
||||
"ios_connect_to_remote": 0,
|
||||
"mac_connect_to_remote": 0,
|
||||
"wait_for_connect": 0,
|
||||
"provo_wait_for_connect": 0,
|
||||
"salem_wait_for_connect": 0,
|
||||
"jasper_wait_for_connect": 0,
|
||||
"windows_wait_for_connect": 1,
|
||||
"android_wait_for_connect": 0,
|
||||
"ios_wait_for_connect": 0,
|
||||
"mac_wait_for_connect": 0,
|
||||
"connect_ap_timeout" : 3,
|
||||
"launch_ap_timeout": 15,
|
||||
"wait_ap_ready_timeout": 1200
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"Tools":
|
||||
{
|
||||
"Prefab":
|
||||
{
|
||||
"Processing":
|
||||
{
|
||||
"Stack":
|
||||
{
|
||||
"PlayInEditor":
|
||||
[
|
||||
{ "$type": "AzToolsFramework::Prefab::PrefabConversionUtils::EditorInfoRemover" },
|
||||
{ "$type": "AzToolsFramework::Prefab::PrefabConversionUtils::PrefabCatchmentProcessor" }
|
||||
],
|
||||
"GameObjectCreation":
|
||||
[
|
||||
{ "$type": "AzToolsFramework::Prefab::PrefabConversionUtils::EditorInfoRemover" },
|
||||
{
|
||||
"$type": "AzToolsFramework::Prefab::PrefabConversionUtils::PrefabCatchmentProcessor",
|
||||
"SerializationFormat": "Binary" // Options are "Binary" (default) or "Text". Prefer "Binary" for performance.
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
// its licensors.
|
||||
//
|
||||
// For complete copyright and license terms please see the LICENSE at the root of this
|
||||
// distribution (the "License"). All use of this software is governed by the License,
|
||||
// or, if provided, by the license below or the license accompanying this file. Do not
|
||||
// remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
//
|
||||
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AssetBuilder":
|
||||
{
|
||||
"SettingsRegistry":
|
||||
{
|
||||
// List of entries that will not be added to the game.*.setreg files by the Settings Registry Builder.
|
||||
// Use json pointers as the format for entries. If the target pointed to is an object or array the
|
||||
// members or entries will be recursively ignored as well.
|
||||
"Excludes":
|
||||
[
|
||||
"/Amazon/AzCore/Runtime"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024
|
||||
},
|
||||
{
|
||||
"$type": "AzFramework::RemoteStorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 32
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::ReadSplitterConfig",
|
||||
// The size of the internal buffer that's used if reads need to be aligned.
|
||||
"BufferSizeMib": 6,
|
||||
// The size at which reads are split. This can either be a fixed value that's explicitly supplied or a
|
||||
// dynamic value that's retrieved from the provided hardware.
|
||||
"SplitSize": "MaxTransfer",
|
||||
// If set to true the read splitter will adjust offsets to align to the required size alignment. This should
|
||||
// be disabled if the read splitter is front of a cache like the block cache as it would negate the cache's
|
||||
// ability to cache data.
|
||||
"AdjustOffset": true,
|
||||
// Whether or not to split reads even if they meet the alignment requirements. This is recommended for
|
||||
// devices that can't cancel their requests.
|
||||
"SplitAlignedRequests": false
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::BlockCacheConfig",
|
||||
// The overall size of the cache in megabytes.
|
||||
"CacheSizeMib": 10,
|
||||
// The size of the individual blocks inside the cache.
|
||||
"BlockSize": "MaxTransfer"
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::DedicatedCacheConfig",
|
||||
// The overall size of the cache in megabytes.
|
||||
"CacheSizeMib": 2,
|
||||
// The size of the individual blocks inside the cache.
|
||||
"BlockSize": "MemoryAlignment",
|
||||
// If true, only the epilog is written otherwise the prolog and epilog are written. In either case both
|
||||
// prolog and epilog are read. For uses of the cache that read mostly sequentially this flag should be set
|
||||
// to true. If reads are more random than it's better to set this flag to false.
|
||||
"WriteOnlyEpilog": true
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::FullFileDecompressorConfig",
|
||||
// Maximum number of reads that are kept in flight.
|
||||
"MaxNumReads": 2,
|
||||
// Maximum number of decompression jobs that can run simultaneously.
|
||||
"MaxNumJobs": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"DevMode":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
"MaxFileHandles": 1024
|
||||
},
|
||||
{
|
||||
"$type": "AzFramework::RemoteStorageDriveConfig",
|
||||
"MaxFileHandles": 1024
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
// Whether to use all available hardware or restrict to known paths.
|
||||
"UseAllHardware": true,
|
||||
// Whether to report hardware information
|
||||
"ReportHardware": true,
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
// The maximum number of file handles that the drive will cache.
|
||||
"MaxFileHandles": 1024
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"Amazon":
|
||||
{
|
||||
"AzCore":
|
||||
{
|
||||
"Streamer":
|
||||
{
|
||||
"ReportHardware": false,
|
||||
"Profiles":
|
||||
{
|
||||
"Generic":
|
||||
{
|
||||
"Stack":
|
||||
[
|
||||
{
|
||||
"$type": "AZ::IO::StorageDriveConfig",
|
||||
"MaxFileHandles": 1024
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::ReadSplitterConfig",
|
||||
"BufferSizeMib": 10,
|
||||
"SplitSize": "MaxTransfer",
|
||||
"AdjustOffset": true,
|
||||
"SplitAlignedRequests": false
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::BlockCacheConfig",
|
||||
"CacheSizeMib": 10,
|
||||
"BlockSize": "MaxTransfer"
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::DedicatedCacheConfig",
|
||||
"CacheSizeMib": 10,
|
||||
"BlockSize": "MemoryAlignment",
|
||||
"WriteOnlyEpilog": true
|
||||
},
|
||||
{
|
||||
"$type": "AZ::IO::FullFileDecompressorConfig",
|
||||
"MaxNumReads": 4,
|
||||
"MaxNumJobs": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user