AssetProcessorPlatformConfig.ini 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. ; ---- Enable/Disable platforms for the entire project. AssetProcessor will automatically add the current platform by default.
  2. ; PLATFORM DEFINITIONS
  3. ; [Platform (unique identifier)]
  4. ; tags=(comma-seperated-tags)
  5. ;
  6. ; note: the 'identifier' of a platform is the word(s) following the "Platform" keyword (so [Platform pc] means identifier
  7. ; is 'pc' for example. This is used to name its assets folder in the cache and should be used in your bootstrap.cfg
  8. ; or your main.cpp to choose what assets to load for that particular platform.
  9. ; Its primary use is to enable additional non-host platforms (Ios, android...) that are not the current platform.
  10. ; note: 'tags' is a comma-seperated list of tags to tag the platform with that builders can inspect to decide what to do.
  11. ; while builders can accept any tags you add in order to make decisions, common tags are
  12. ; tools - this platform can host the tools and editor and such
  13. ; renderer - this platform runs the client engine and renders on a GPU. If missing we could be on a server-only platform
  14. ; mobile - a mobile platform such as a set top box or phone with limited resources
  15. ; console - a console platform
  16. ; server - a server platform of some kind, usually headless, no renderer.
  17. [Platform pc]
  18. tags=tools,renderer,dx12,vulkan
  19. [Platform es3]
  20. tags=android,mobile,renderer,vulkan
  21. [Platform ios]
  22. tags=mobile,renderer,metal
  23. [Platform osx_gl]
  24. tags=tools,renderer,metal
  25. ; this is an example of a headless platform that has no renderer.
  26. ; 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
  27. [Platform server]
  28. tags=server,dx12,vulkan
  29. ; this section allows you to turn on various platforms in addition to the host platform you're running on
  30. ; '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
  31. ; To enable any additional platform, just uncomment the appropriate line below.
  32. [Platforms]
  33. ;pc=enabled
  34. ;es3=enabled
  35. ;ios=enabled
  36. ;osx_gl=enabled
  37. ;xenia=enabled
  38. ;jasper=enabled
  39. ;provo=enabled
  40. ;salem=enabled
  41. ;server=enabled
  42. ; ---- The number of worker jobs, 0 means use the number of Logical Cores
  43. [Jobs]
  44. minJobs=1
  45. maxJobs=0
  46. ; cacheServerAddress is the location of the asset server cache.
  47. ; Currently for a network share server this would be the absolute file path to the network share folder.
  48. [Server]
  49. ;cacheServerAddress=
  50. ; ---- add any metadata file type here that needs to be monitored by the AssetProcessor.
  51. ; Modifying these meta file will cause the source asset to re-compile again.
  52. ; They are specified in the following format
  53. ; metadata extension=original extension to replace
  54. ; if the metadata extension does not replace the original, then the original can be blank
  55. ; so for example if your normal file is blah.tif and your metafile for that file is blah.tif.exportsettings
  56. ; then your declaration would be exportsettings= ; ie, it would be blank
  57. ; however if your metafile REPLACES the extension (for example, if you have the file blah.i_caf and its metafile is blah.exportsettings)
  58. ; then you specify the original extension here to narrow the scope.
  59. ; If a relative path to a specific file is provided instead of an extension, a change to the file will change all files
  60. ; with the associated extension (e.g. Animations/SkeletonList.xml=i_caf will cause all i_caf files to recompile when
  61. ; Animations/SkeletonList.xml within the current game project changes)
  62. [MetaDataTypes]
  63. exportsettings=
  64. animsettings=i_caf
  65. Animations/SkeletonList.xml=i_caf
  66. cbc=abc
  67. fbx.assetinfo=fbx
  68. ; ---- add any folders to scan here. The priority order is the order they appear here
  69. ; available macros are
  70. ; @ROOT@ - the location of engineroot.txt
  71. ; @GAMENAME@ - the name of the current game project, for example 'RPGSample'
  72. ; note that they are sorted by their 'order' value, and the lower the order the more important an asset is
  73. ; lower order numbers override higher ones.
  74. ; If specified, output will be prepended to every path found in that recognizer's watch folder.
  75. ; Note that you can also make the scan folder platform specific by using the keywords include and exclude.
  76. ; Both include and exclude can contain either platform tags, platform identifiers or both.
  77. ; if no include is specified, all currently enabled platforms are included by default.
  78. ; If includes ARE specified, it will be filtered down by the list of currently enabled platforms.
  79. ; [ScanFolder (unique identifier)]
  80. ; include = (comma seperated platform tags or identifiers)
  81. ; exclude = (comma seperated platform tags or identifiers)
  82. ; For example if you want to include a scan folder only for platforms that have the platform tags tools and renderer
  83. ; but omit it for platform osx_gl, you will have a scanfolder rule like
  84. ; [ScanFolder (unique identifier)]
  85. ; watch=@ROOT@/foo
  86. ; include = tools, renderer
  87. ; exclude = osx_gl
  88. [ScanFolder Game]
  89. watch=@ROOT@/@GAMENAME@
  90. display=@GAMENAME@
  91. recursive=1
  92. order=0
  93. ; gems will be auto-added from 100 onwards
  94. [ScanFolder Root]
  95. watch=@ROOT@
  96. recursive=0
  97. order=10000
  98. [ScanFolder Engine]
  99. watch=@ENGINEROOT@/Engine
  100. recursive=1
  101. order=20000
  102. [ScanFolder Editor]
  103. watch=@ENGINEROOT@/Editor
  104. output=editor
  105. recursive=1
  106. order=30000
  107. include=tools,renderer
  108. ;Excludes files that match the pattern or glob
  109. ; if you use a pattern, remember to escape your backslashes (\\)
  110. [Exclude _LevelBackups]
  111. pattern=.*\\/Levels\\/.*\\/_savebackup\\/.*
  112. [Exclude _LevelAutoBackups]
  113. pattern=.*\\/Levels\\/.*\\/_autobackup\\/.*
  114. [Exclude HoldFiles]
  115. pattern=.*\\/Levels\\/.*_hold\\/.*
  116. [Exclude TempFiles]
  117. ; note that $ has meaning to regex, so we escape it.
  118. pattern=.*\\/\\$tmp[0-9]*_.*
  119. [Exclude AlembicCompressionTemplates]
  120. pattern=.*\\/Presets\\/GeomCache\\/.*
  121. [Exclude TmpAnimationCompression]
  122. pattern=.*\\/Editor\\/Tmp\\/AnimationCompression\\/.*
  123. [Exclude EventLog]
  124. pattern=.*\\/Editor\\/.*eventlog\\.xml
  125. [Exclude GameGemsCode]
  126. pattern=.*\\/Gem\\/Code\\/.*
  127. [Exclude GameGemsResources]
  128. pattern=.*\\/Gem\\/Resources\\/.*
  129. [Exclude Private Certs]
  130. pattern=.*\DynamicContent\\/Certificates\\/Private\\/.*
  131. [Exclude CMakeLists]
  132. pattern=.*\\/CMakeLists.txt
  133. [Exclude CMakeFiles]
  134. pattern=.*\\/.*\\.cmake
  135. ;------------------------------------------------------------------------------
  136. ; Large Worlds Test
  137. ;------------------------------------------------------------------------------
  138. [Exclude Work In Progress Folders]
  139. pattern=.*\\/WIP\\/.*
  140. [Exclude Content Source Folders]
  141. pattern=.*\\/CONTENT_SOURCE\\/.*
  142. [Exclude Art Source Folders]
  143. pattern=.*\\/ArtSource\\/.*
  144. ;------------------------------------------------------------------------------
  145. ; RC params mapping examples
  146. ;------------------------------------------------------------------------------
  147. ; note that productAssetType is a means of setting the output asset Type (as in AZ::Data::AssetType) of a simple job
  148. ; and is the recommended way to specify that a certain kind of file (such as '*.myextension') becomes registered as the
  149. ; actual UUID of that type in the engine itself.
  150. ; Use a regex for matching files, same params for all platforms
  151. ;[RC TGAs]
  152. ;pattern=.+\\.tga$
  153. ;params=/tga /texture
  154. ; Use a glob, have special params for es3 platform
  155. ;[RC TIFFs]
  156. ;glob=*.tif
  157. ;params=/texture
  158. ;es3=/pvrt
  159. ; You can also modify a version to compile all matching files again
  160. ; By default the version is empty
  161. ;[RC tif]
  162. ;glob=*.tif
  163. ;params = \\someparams
  164. ;version =1.0
  165. ; This will make the AssetProcessor compile all the .tif files again
  166. ; you can also optionally supply a priority.
  167. ; this is used to sort jobs when no other external circumstance sorts them
  168. ; for example, copy jobs will be higher in priority than other jobs that are not copy jobs
  169. ; however if they're both copy jobs or both not, and no other circumstances apply, then priority will be used.
  170. ; default priority is zero if not specified
  171. ; you can specify an option to skip processing for a file type based on the platform.
  172. ; for example, if you dont want to process tif files for ios, you can make tif files
  173. ; process on any platform except for ios:
  174. ;[RC tif]
  175. ;glob=*.tif
  176. ;params = \\someparams
  177. ;ios=skip
  178. ; you can specify an option to output product dependencies for a copy job.
  179. ; please note that you only need to set this option when cry code is required to parse the asset.
  180. ; otherwise product dependencies will be output automatically by the CopyDependencyBuilder.
  181. ; for example, if you want to output the product dependencies for font assets:
  182. ;[RC font]
  183. ;glob=*.font
  184. ;params=copy
  185. ;outputProductDependencies=true
  186. ; you can also specify an option to make all jobs critical that matches some pattern/glob.
  187. ; for example, if you want to make all png files critical than set critical to true.
  188. ; Note that by default all copy jobs are critical.
  189. ; Critical jobs are processed before non critical jobs and also prevent the runtime or editor from starting until they are all complete.
  190. ;[RC png]
  191. ;glob=*.png
  192. ;params = \\someparams
  193. ;critical=true
  194. ; 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.
  195. ; For example, if you want to store all png jobs in the asset server cache location including their logs, you can set checkServer = true.
  196. ; 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.
  197. ; if unsucessful, it will process the job locally as usual.
  198. ;[RC png]
  199. ;glob=*.png
  200. ;params = \\someparams
  201. ;critical=true
  202. ;checkServer=true
  203. ; note that the FULL PATH to the file will be used as the match, not the relative path
  204. ; so ensure start your patterns with .* or as appropriate.
  205. ; Also, any rules which match will apply - so if you have two rules which both apply to PNG files for example
  206. ; but you only want one, you might want to use exclusion patterns:
  207. ;Example: process everything EXCEPT the ones in the libs/ui folder with these params
  208. ;[RC png-normal]
  209. ;pattern=(?!.*libs\\/ui\\/).*\\.png
  210. ;params=/imagecompressor=CTSquish /streaming=0
  211. ;lockSource=true
  212. ;Example: Process everything in the libs/ui folder with linear color space
  213. ;[RC png-ui]
  214. ;pattern=(.*libs\\/ui\\/).*\\.png
  215. ;params=/imagecompressor=CTSquish /streaming=0 /colorspace=linear,linear
  216. ;lockSource=true
  217. ; More example Regexes:
  218. ; pattern=(?!(.*libs\\/ui\\/)|(.*editor\\/).*\\.png
  219. ; This pattern will not match anything with editor/ or libs/ui/ in it
  220. ; pattern=((.*libs\\/ui\\/)|(.*editor\\/).*\\.png
  221. ; This pattern will only match anything with editor/ or libs/ui/ in it
  222. ;Give every [Section Name] its own unique Name or else they will overwrite each other!
  223. [RC i_caf]
  224. glob=*.i_caf
  225. params=/cafAlignTracks=1 /animConfigFolder=Animations /skipdba=1 /refresh=1
  226. ; force server to send the 'pc' platform to RC.EXE so it compiles the same as PC.
  227. server=/cafAlignTracks=1 /animConfigFolder=Animations /skipdba=1 /refresh=1 /p=pc
  228. priority=5
  229. productAssetType={6023CFF8-FCBA-4528-A8BF-6E0E10B9AB9C}
  230. [RC caf]
  231. glob=*.caf
  232. params=copy
  233. productAssetType={6023CFF8-FCBA-4528-A8BF-6E0E10B9AB9C}
  234. ; same as above
  235. [RC mp4]
  236. glob=*.mp4
  237. params=copy
  238. productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
  239. [RC mkv]
  240. glob=*.mkv
  241. params=copy
  242. productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
  243. ; same as above
  244. [RC webm]
  245. glob=*.webm
  246. params=copy
  247. productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
  248. ; same as above
  249. [RC mov]
  250. glob=*.mov
  251. params=copy
  252. productAssetType={DDFEE0B2-9E5A-412C-8C77-AB100E24C1DF}
  253. ; same as above
  254. [RC bk2]
  255. glob=*.bk2
  256. params=copy
  257. productAssetType={BF4879B9-B893-41D2-80E9-24A7BDCD2B50}
  258. [RC img]
  259. glob=*.img
  260. params=copy
  261. [RC dba]
  262. glob=*.dba
  263. params=copy
  264. productAssetType={511562BE-65A5-4538-A5F1-AC685366243E}
  265. version=2
  266. [RC cgf]
  267. glob=*.cgf
  268. params=/VertexPositionFormat=exporter /VertexIndexFormat=u32
  269. ; on server, feed rc.exe the param /p=pc to force it to compile assets for server platform in pc format.
  270. server=/VertexPositionFormat=exporter /VertexIndexFormat=u32 /p=pc
  271. lockSource=true
  272. priority=10
  273. ; allow CGF files to compile first, so untextured models appear before their textures for faster startup
  274. ; other available params: /SplitLODs=1
  275. [RC surfaceTagNameList]
  276. glob=*.surfaceTagNameList
  277. params=copy
  278. productAssetType={A471B2A9-85FC-4993-842D-1881CBC03A2B}
  279. [RC gradImageSettings]
  280. glob=*.gradimagesettings
  281. params=copy
  282. productAssetType={B36FEB5C-41B6-4B58-A212-21EF5AEF523C}
  283. [RC fbx]
  284. glob=*.fbx
  285. ; 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)
  286. priority=9
  287. version=5
  288. [RC chr]
  289. glob=*.chr
  290. params=copy
  291. productAssetType={60161B46-21F0-4396-A4F0-F2CCF0664CDE}
  292. version=2
  293. [RC skin]
  294. glob=*.skin
  295. params=copy
  296. [RC cfi]
  297. glob=*.cfi
  298. params=copy
  299. [RC cfx]
  300. glob=*.cfx
  301. params=copy
  302. [RC cfr]
  303. glob=*.cfr
  304. params=copy
  305. ; Warning: If you change the VertexIndexFormat, make sure you update the vtx_idx typedef in Code\CryEngine\CryCommon\ProjectDefines.h
  306. [RC abc]
  307. glob=*.abc
  308. params=/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u32
  309. console=/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u32
  310. mobile=/SkipFilesWithoutBuildConfig=0 /VertexIndexFormat=u16
  311. version=3
  312. server=skip
  313. [RC png-entityicon]
  314. pattern=(.*EntityIcons\\/).*\\.png
  315. productAssetType={3436C30E-E2C5-4C3B-A7B9-66C94A28701B}
  316. params=skip ; only tools-supporting platforms should copy this file. Everyone else can skip.
  317. tools=copy
  318. [RC usm]
  319. glob=*.usm
  320. params=copy
  321. server=skip
  322. [RC animevents]
  323. glob=*.animevents
  324. params=copy
  325. productAssetType={C1D209C1-F81A-4586-A34E-1615995F9F3F}
  326. version=2
  327. [RC adb]
  328. glob=*.adb
  329. params=copy
  330. productAssetType={50908273-CA36-4668-9828-15DD5092F973}
  331. [RC bspace]
  332. glob=*.bspace
  333. params=copy
  334. [RC cdf]
  335. glob=*.cdf
  336. params=copy
  337. productAssetType={DF036C63-9AE6-4AC3-A6AC-8A1D76126C01}
  338. ; note - this used to be skinnedMeshAsset but its now Character Definition File specific.
  339. ; .skin has its own type.
  340. [RC chrparams]
  341. glob=*.chrparams
  342. params=copy
  343. productAssetType={4BBB785A-6824-4803-A607-F9323E7BEEF1}
  344. version=2
  345. [RC comb]
  346. glob=*.comb
  347. params=copy
  348. [RC dlg]
  349. glob=*.dlg
  350. params=copy
  351. [RC csv]
  352. glob=*.csv
  353. params=copy
  354. [RC json]
  355. glob=*.json
  356. params=copy
  357. [RC lmg]
  358. glob=*.lmg
  359. params=copy
  360. [RC smtl]
  361. glob=*.smtl
  362. params=copy
  363. [RC sub]
  364. glob=*.sub
  365. params=copy
  366. productAssetType={71F9D30E-13F7-40D6-A3C9-E5358004B31F}
  367. version=2
  368. [RC sbsar]
  369. glob=*.sbsar
  370. params=copy
  371. [RC loc.agsxml]
  372. glob=*.loc.agsxml
  373. params=copy
  374. version=1
  375. [RC node]
  376. glob=*.node
  377. params=copy
  378. [RC veg]
  379. glob=*.veg
  380. params=copy
  381. [RC dat]
  382. glob=*.dat
  383. params=copy
  384. [RC lut]
  385. glob=*.lut
  386. params=copy
  387. [RC txt]
  388. pattern=^(?!.*PreloadLibs.txt).*\\.txt
  389. params=copy
  390. [RC cal]
  391. glob=*.cal
  392. params=copy
  393. [RC grp]
  394. glob=*.grp
  395. params=copy
  396. productAssetType={7629EDD3-A361-49A2-B271-252127097D81}
  397. version=2
  398. [RC xls]
  399. glob=*.xls
  400. params=copy
  401. [RC ini]
  402. glob=*.ini
  403. params=copy
  404. [RC ttf]
  405. glob=*.ttf
  406. params=copy
  407. [RC otf]
  408. glob=*.otf
  409. params=copy
  410. [RC ext]
  411. glob=*.ext
  412. params=copy
  413. [RC pak]
  414. ; Copy all pak files except level.pak, level.pak has its own builder.
  415. pattern=^((?!\\/level\\.pak).)*\\.pak$
  416. params=copy
  417. [RC ctc]
  418. glob=*.ctc
  419. params=copy
  420. [RC uiprefab]
  421. glob=*.uiprefab
  422. params=copy
  423. server=skip
  424. [RC sprite]
  425. glob=*.sprite
  426. params=copy
  427. server=skip
  428. [RC bin]
  429. glob=*.bin
  430. params=copy
  431. [RC inputbindings]
  432. glob=*.inputbindings
  433. params=copy
  434. productAssetType={25971C7A-26E2-4D08-A146-2EFCC1C36B0C}
  435. [RC physmaterial]
  436. glob=*.physmaterial
  437. params=copy
  438. productAssetType={9E366D8C-33BB-4825-9A1F-FA3ADBE11D0F}
  439. [RC ocm]
  440. glob=*.ocm
  441. params=copy
  442. ; Feature tests use the raw .tif files for the golden image comparison
  443. [RC goldenimages]
  444. pattern=.*GoldenImages\\/.*\\.tif
  445. params=copy
  446. server=skip
  447. ; Copy over certificates for use with FileDataSource
  448. [RC CertificatePEM]
  449. glob=*.pem
  450. params=copy
  451. ; Copy over certificates for use with Dynamic Content
  452. [RC CertificateDER]
  453. glob=*.der
  454. params=copy
  455. [RC PhysXMeshAsset]
  456. glob=*.pxmesh
  457. params=copy
  458. productAssetType={7A2871B9-5EAB-4DE0-A901-B0D2C6920DDB}
  459. ; Copy over cooked PhysX heightfield
  460. [RC PhysX HeightField]
  461. glob=*.pxheightfield
  462. params=copy
  463. productAssetType={B61189FE-B2D7-4AF1-8951-CB5C0F7834FC}
  464. [RC filetag]
  465. glob=*.filetag
  466. params=copy
  467. productAssetType={F3BE5CAB-85B7-44B7-9495-863863F6B267}
  468. ; Precompiled shader srg
  469. [RC azsrg]
  470. glob=*.azsrg
  471. params=copy
  472. productAssetType={F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}
  473. ; Precompiled shader variant
  474. [RC azshadervariant]
  475. glob=*.azshadervariant
  476. params=copy
  477. productAssetType={9F4D654B-4439-4C61-8DCD-F1C7C5560768}