You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/AssetProcessorPlatformConfi...

591 lines
16 KiB
INI

; ---- 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.
[Platform pc]
tags=tools,renderer,dx12,vulkan
[Platform es3]
tags=android,mobile,renderer,vulkan
[Platform ios]
tags=mobile,renderer,metal
[Platform osx_gl]
tags=tools,renderer,metal
; 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
;jasper=enabled
;provo=enabled
;salem=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]
exportsettings=
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 engineroot.txt
; @GAMENAME@ - the name of the current game project, for example '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=@ROOT@/@GAMENAME@
display=@GAMENAME@
recursive=1
order=0
; gems will be auto-added from 100 onwards
[ScanFolder Root]
watch=@ROOT@
recursive=0
order=10000
[ScanFolder Engine]
watch=@ENGINEROOT@/Engine
recursive=1
order=20000
[ScanFolder Editor]
watch=@ENGINEROOT@/Editor
output=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\\/.*
[Exclude TempFiles]
; note that $ has meaning to regex, so we escape it.
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
;------------------------------------------------------------------------------
; 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}
; same as above
[RC mp4]
glob=*.mp4
params=copy
productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
[RC mkv]
glob=*.mkv
params=copy
productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
; same as above
[RC webm]
glob=*.webm
params=copy
productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
; same as above
[RC mov]
glob=*.mov
params=copy
productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
; same as above
[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 ; only tools-supporting platforms should copy this file. Everyone else can 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
[RC pak]
; Copy all pak files except level.pak, level.pak has its own builder.
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}