AssetProcessorPlatformConfig.ini 16 KB

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