.. meta:: :description property=og\:description: Overview of Resource Management in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: ! Resources, Bundles, Resource Cache, Tagging, Mass Tagging .. _resource_management: =================== Resource Management =================== Resources are pluggable bits of data, like brush presets or patterns. Krita has a sophisticated resource management system, which allows tagging, disabling, sharing and more. .. versionchanged:: 5.0 All resources are stored in the resource folder. This folder can be configured in :ref:`the general preferences `. As keeping track of all those resources can be a handful, Krita creates a SQLite cache in which it keeps the tags, names, version and other data about the resource. Thanks to this cache, Krita can avoid loading a resource until necessary. This makes Krita a lot lighter than when it did not have this cache. Deleting the cache will delete the tags and relationships it keeps track of, so be careful. If you have not changed your resource folder location, the resources can be found at... Linux :file:`$HOME/.local/share/krita/` Windows :file:`%APPDATA%\\krita\\` macOS :file:`~/Library/Application Support/Krita/` If you installed Krita in the Windows Store, your custom resources will be in a location like: :file:`%LOCALAPPDATA%\\Packages\\49800Krita_{RANDOM STRING}\\LocalCache\Roaming\krita` .. _resource_libraries: Resource Libraries ------------------ Krita can load a variety of resource libraries. .. glossary:: Resource Folder The resource folder is considered the primary library. When creating new resources, they will all end up here. You can configure its location in the :ref:`general preferences `. Resource Bundle The primary format to share resources is :dfn:`Resource Bundles`, which is a compressed file containing all the resources together. It also contains some other information like metadata and a manifest so Krita can check there's no errors in the file. Adobe Brush Library An ``ABR`` with multiple images inside. Previous versions of Krita could not load this, but now Krita will load them as a library of :ref:`brushes `. Adobe Style Library This is the :program:`Photoshop` ``ASL`` format, which stores :ref:`layer_style`. Document Storage Every Krita document can store resources and act as a resource library. This is currently only used for palettes. Memory Storage Finally, the memory library is where temporary resources are kept, which are generated by Krita and have no physical version on disk. This is currently used for the fore-to-background gradient. You can manage resource libraries by going to :menuselection:`Settings --> Manage Resource Libraries`. In this dialog, you can import resource libraries, deactivate them, and also :ref:`create_bundle`. Importing Bundles ~~~~~~~~~~~~~~~~~ To import a bundle click on :guilabel:`Import` button on the top right side of the dialog. Select ``.bundle`` file format from the file type if it is not already selected, browse to the folder where you have downloaded the bundle, select it and click :guilabel:`Open`. Once the bundle is imported it will be listed in the bundle view. To enable or disable a bundle, select the entry in the view, and then select :guilabel:`Deactivate`. .. _create_bundle: Creating your own Bundle ~~~~~~~~~~~~~~~~~~~~~~~~ You can create your own bundle from the resources of your choice. Click on the :guilabel:`Create bundle` button. This will open a dialog box as shown below. .. image:: /images/resources/Creating-bundle.png The left hand section is for filling up information about the bundle like author name, website, email, bundle icon, etc. The right hand side provides a list of available resources. Choose the type of resource you wish to add in to the bundle from the drop-down above and add it to the bundle by selecting a resource and clicking on the arrow button. .. warning:: Make sure you add brush tips for used in the respective paintop presets you are adding to the bundle. If you don't provide the brush tips then the brush presets loaded from this bundle will have a 'X' mark on the thumbnail denoting that the texture is missing. And the brush preset won't be the same. Once you have added all the resources you can create bundle by clicking on the :guilabel:`Save` button, the bundle will be saved in the location you have specified. You can then share this bundle with other artists or load it on other workstations. Deleting Imported Bundles ~~~~~~~~~~~~~~~~~~~~~~~~~ In case you wish to delete the bundles you have imported *permanently* click on the :guilabel:`Open Resource Folder` button in the :guilabel:`Manage Resources` dialog. This will open the resource folder in your file browser. Go inside the bundles folder and delete the bundle file which you don't need any more. The next time you start Krita the bundle and its associated resources will not be loaded. .. _resource_manager: Managing Resources ------------------ As mentioned earlier Krita has a flexible resource management system. Starting from version 2.9 you can share various resources mentioned above by sharing a single compressed ZIP file created within Krita. The manage resources section in the settings was also revamped for making it easy for the artists to prepare these bundle files. You can open manage resource section by going to :menuselection:`Settings --> Manage Resources...` menu item. .. image:: /images/resources/Manageresources.png :align: center You can do a variety of things here, like deleting backup files, mass-tagging, deleting/deactivating the resource itself, importing resources and open the create bundle dialog. .. _import_resources: Importing resources ~~~~~~~~~~~~~~~~~~~ To import resources, select the :guilabel:`import` in the resource choosers or the resource manager. The resource chooser import is fairly straight forward. You can only select certain kinds of files, and all the files you can select are possible to import for that resource. The import button in the resource manager however sometimes needs to make a choice on whether an imported :ref:`file_png` file is a brush tip or a texture. When importing a format that can be used for multiple types of resources, a window will pop up asking which resource type you intended to import the file for. .. _deactivating_resources: .. _activating_resources: Activating and Deactivating ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Deactivating resources is done by selecting them in their respective resource chooser, and pressing the trashcan icon. For activating a resource, go to :menuselection:`Setti&ngs --> Manage Resources...`, then turn on :guilabel:`&Show Deleted Resources`. The deactivated resources should now be visible, select them, and then press :guilabel:`Undelete Resource`. .. _resource_version_history: Returning a resource to the previous version ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. First go to the resource folder, :menuselection:`Settings --> Manage Resources... --> Open Resource Folder`. #. Then go into the ``paintoppresets`` folder. #. Backup (select and cut) all versions of the related resource into a place you can find them. Delete all these files from the ``paintoppresets`` folder. #. restart Krita. #. add only the desired version of the resource. .. _delete_backup_files: Deleting Backup files ~~~~~~~~~~~~~~~~~~~~~ When you delete a preset from Krita, Krita doesn't actually delete the physical copy of the preset. It just adds it to a black list so that the next time when you start Krita the presets from this list are not loaded. To delete the brushes from this list click on :guilabel:`Delete Backup Files`. .. note:: Deleting backup files has temporarily been disabled for 5.0. .. _resource_tagging: Tags ~~~~ Tagging allows you to manage the resources on the fly while painting. All Krita resources can be tagged. These tags can be added via the resource manager, but also via the respective dockers such as brush preset docker, pattern docker etc. You can |mouseleft| the :guilabel:`+` icon in the docker and add a tag name. In addition to adding you can rename and delete a tag as well. .. image:: /images/resources/Tags-krita.png :align: center * Resources can belong to one or more tags. For example, you may have a Brush Preset of a favorite :dfn:`Ink Pen` variant and have it tagged so it shows in up in your Inking, Painting, Comics and Favorites groups of brushes. * Every resource can be tagged, so brushes in the :guilabel:`Predefined` tab of the Brush Settings Editor can be also tagged and grouped for convenience. In the resource manager, you can tag multiple resources at once. To select multiple resources, use :kbd:`Ctrl` for adding individual resources to the selection or :kbd:`Shift` for adding every resource at once. Then press the plus icon next to the :guilabel:`tags` section to add a tag to every selected resource. Some tags are translated. If you make bundles for others, using such tags can be useful to ensure cross-language compatibility. The tags that get localized are... - Digital - Erasers - FX - Favorites - Ink - Paint - Pixel_Art - Sketch - Textures .. Add in tags-back up functionality. Filtering --------- Some dockers, for example the brush preset docker as shown below, have a resource filter, which functions like a search bar for the resource in question. .. image:: /images/brushes/Brushpreset-filters.png You can enter brush name, tag name to quickly pull up a list of brush presets you want. When you select any tag from the tag drop-down and want to include brush presets from other tags as well then you can add filters based on the partial, case insensitive name of the resources by using ``partialname`` or ``!partialname``. Resource Zooming If you find the thumbnails of the resources such as color swatches brushes and pattern to be small you can make them bigger or :dfn:`Zoom in`. All resource selectors can be zoomed in and out of, by hovering over the selector and using the :kbd:`Ctrl +` |mousescroll| shortcut. Resource Types in Krita ----------------------- .. toctree:: :caption: Main Resource Types :maxdepth: 1 :glob: resource_management/* Other Resource Types ~~~~~~~~~~~~~~~~~~~~ - :ref:`gamut_mask_docker` - :ref:`layer_style` - :ref:`task_sets_docker` - :ref:`vector_library_docker` - :ref:`palette_docker`