# Asset Manager

## Overview

**Assets** are the files in the **Project Asset** folder. They can be used for creating or modifying **Objects**. The **Asset Manager** shows all the available **Assets** and allows the user to organize, manage, and create them.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-963c5e635ca13422a7664c4539500be78d88f5af%2Fassetmanagerimage120241.png?alt=media)

## Importing

**Assets** can be imported by clicking on the plus ![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-55a9686264982a9e5bf290bb46e76f517453c193%2FplusIcon%20\(4\)%20\(4\)%20\(4\)%20\(4\)%20\(4\)%20\(4\)%20\(4\)%20\(4\)%20\(1\)%20\(1\)%20\(1\)%20\(1\).PNG?alt=media) icon at the top left of the **Asset Manager**, selecting `Import Assets`, and finding the files to import to the **Asset Manager**.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-a32645f41627981bee986da318fbb1f4669114dd%2Fassetmanagerimage2.png?alt=media)

## Creating

To create an **Asset**, right-click on the **Asset Manager**, select `Create Asset`, and choose which kind of **Asset** to create.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-fadeabbaf34c59754a8ea8adeed7d709e3e23710%2Fassetmanagerimage3.png?alt=media)

## Views

The **Asset Manager** offers different views of the files in the **Assets** folder. The general view can be switched on the top left between flat and folder tree view and the files can be seen as either icons or in a list, which is chosen in the bottom right corner.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-17264e9eb31fdeb6dfe45e93b733a9e6f664181b%2Fassetmanagerimage4.gif?alt=media)

## Deleting

**Assets** can be deleted in the following ways:

* Right-click the **Asset** and select the `Delete` button from the pop-up.
* Select an **Asset** and press `del`.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-b328247958d3d00aab72d32c2b9846f6078c18e8%2Fassetmanagerimage5.png?alt=media)

## Renaming

**Assets** can be renamed by right-clicking an item and selecting `Rename`. You can then type a new name and press **`⏎`**/`Return` to confirm the change.

![](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-9fdddbdba0bfab3d89e416fbf97fa76c4168e833%2Fassetmanagerimage6.gif?alt=media)

## Texture Importer

The **Texture Importer** appears in an **Asset's** **Attribute Editor** when the **Asset** has been imported in the **Asset Manager**.

This is only possible for images (files such as *PNGs*, *JPGs*, etc.) and **Incari** [**Image Sequences**](https://docs.incari.com/incari-studio/2024.1/modules/image-sequence-editor).

### Images

Images are files that contain only one file type. When `sunflower.jpg` file is used, a new `.ktx2` file is created (ex: `sunflower.ktx2`) and stored in an `/internal` folder of the **Project**. This folder is not accessible within **Incari Studio**, but can be seen in the **Project** folder on the user's local machine.

![Internal Folder Location Example.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-ebbdf45c35de4b1474feace3a50c1bc7988a564b%2Finternalfolderexample.png?alt=media)

![Example .ktx2 File for an Image Asset.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-ff31f8789bf21f19bcb0360ed236558cc0726746%2Fsunflowerinternalfolderex.png?alt=media)

To reiterate, the first generation of the `.ktx2` file is on instantiation, meaning that when it is dragged and dropped into the viewport or put into the reference field of an **Object**, the `.ktx2` file is created. This is to significantly speed up the loading time of the **Project** once this conversion is done.

Deleting the `.jgp` also deletes the generated `.ktx2` and removes the generated files.

**Incari Studio** will detect any overwriting (changes to the file or its **Attributes**) and regenerate the `.ktx2` when `Save` under `Information` is pressed. This change can be something simple, like changing the `Compression` **Attribute**. It can also be something more complex, like changing something in the **Image** using an external software, such as *Microsoft Paint*.

![Texture Importer for a JPG](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-be404fa4ec287347b73f637fbe3d6d6997fd0908%2Fassetmanagerimage9.png?alt=media)

To get the **Texture Importer** to show, one simply needs to click on the imported **Asset** (in this case `sunflower.jpg`). This shows the many **Attributes**:

* `Asset Name`: The file name of the **Asset**. This cannot be changed within **Incari Studio**.
* `Is GPU compressed (ETC1S)`: Determines if it is in *GPU*-compressed format or not. More on *GPU Compression* in reference to *KTX* can be found [here](https://github.com/KhronosGroup/3D-Formats-Guidelines/blob/main/KTXDeveloperGuide.md#etc1s--basislz-codec). Enabling this **Attribute**significantly reduces memory consumption and is highly recommended when using embedded boards.
* `Compression Level`: What type of compression to use. The lower the number, the higher the compression but the lower the quality. This can be `High Quality` (255), `Balanced` (128), or `High Compression` (64).
* `Information`
  * `Open in Asset Database`: Opens the file in the [**Asset Database**](https://docs.incari.com/incari-studio/2024.1/modules/asset-database)
  * `Save`: Lets the user save the new settings applied to the **Asset** in the **Texture Importer** or regenerate the file when external changes have been made. These changes will then appear automatically.

### Image Sequences

**Image Sequences** are treated similarly to **Images** and the above explanation can be used to describe the process here as well. However, when an **Image Sequence** is used, a `.ktx2` file is created not just for the **Image Sequence**, but for all **Assets** used in it.

![Example .ktx2 Files for an Image Sequence Asset.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-12e5b5ba413ae8c3f559723d5aeed98ce1a57470%2Fimgseqinternalfolderexample.png?alt=media)

The example **Image Sequence** contains two **Images** called `nature.jpg` and `sunset.jpg`. These both get their own `.ktx2` files as well as the **Image Sequence** `imgseq.incseq`.

![Texture Importer for an Image Sequence.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-a8b89bee854cde0e3de78fead23bfa3d570906d5%2Fassetmanagerimage11.png?alt=media)

To get the **Texture Importer** to show, one simply needs to click on the imported **Asset** (in this case `imgseq.incseq`). This shows the many **Attributes**:

* `Asset Name`: The file name of the **Asset**. This cannot be changed within **Incari Studio**.
* `Is GPU compressed (ETC1S)`: Determines if it is in *GPU*-compressed format or not. More on *GPU Compression* in reference to *KTX* can be found [here](https://github.com/KhronosGroup/3D-Formats-Guidelines/blob/main/KTXDeveloperGuide.md#etc1s--basislz-codec).
* `Compression Level`: What type of compression to use. The lower the number, the higher the compression but the lower the quality. This can be `High Quality` (255), `Balanced` (128), or `High Compression` (64).
* `Information`
  * `Open in Asset Database`: Opens the file in the [**Asset Database**](https://docs.incari.com/incari-studio/2024.1/modules/asset-database)
  * `Save`: Lets the user save the new settings applied to the **Asset** in the **Texture Importer** or regenerate the file when external changes have been made. These changes will then appear automatically.

## 3D Object Importer

The **3D Object Importer** appears in an **Asset's** **Attribute Editor** when the **Asset** has been imported in the **Asset Manager**.

This is only for [**Meshes**](https://docs.incari.com/incari-studio/2024.1/objects-and-types/scene-objects/mesh).

### Meshes

**Meshes** are *3D* format files such as `.fbx`, `.obj`, `.gltf`, etc. These can contain several different components like **Meshes**, **Materials**, **Textures**, and so on (**Animations** are currently not supported). When the base file is used in a **Project**, a `.glb` file is generated and saved in the `/internal` folder, much like the .`.ktx2` file for **Images** and **Image Sequences**.

![Example .glb File for Mesh Example.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-b38b427d715abaa34485329dbc56b7746e2545b2%2Fglbinternalfolderexample.png?alt=media)

There is also an `.glb.info` file and a folder containing all the associated images and their new `.ktx2` files. Each converted image also has a `.settings` file where the conversion settings are stored. The user can change these in the **Attribute Editor** for each image.

![Example .ktx2 Files for all Associated Mesh Images.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-99ba2ca2991ea926f39fb4e31ab1b057485c5eb7%2Favocadointernalimagesfolderex.png?alt=media)

The first generation of the `.glb` file is on instantiation, meaning that when the base file is dragged and dropped into the **Viewport** or put into the reference field of an **Object**, the `.glb` file is created.

Deleting a base file would delete the `.glb` file as well as everything associated with it.

Any changes to the base file will update the `.glb` files.

Overwriting in this case means that when a change is made in some **Asset** or **Object**, it is added on top of the original data when `Save` under `Information` is pressed. So if the original data specifies that a **Material** is orange, the user can overwrite the original **Material** to make the material blue.

![3D Object Importer for a Mesh.](https://4263346935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLnh3x8s9fddWeG8TaAug%2Fuploads%2Fgit-blob-60b04909140a08d1d15acbb91210fbcf6846f72e%2Fassetmanagerimage15.png?alt=media)

To get the **3D Object Importer** to show, one simply needs to click on the imported **Asset** (in this case `Avocado.glb`). This shows the many **Attributes**:

* `Asset Name`: The file name of the **Asset**. This cannot be changed within **Incari Studio**.
* `Scale Factor`: This allows the user to scale the **Mesh's** size up or down.
* `Information`
  * `Open in Asset Database`: Opens the file in the [**Asset Database**](https://docs.incari.com/incari-studio/2024.1/modules/asset-database)
  * `Save`: Lets the user save the new settings applied to the **Asset** in the **3D Object Importer** or regenerate the file when external changes have been made. These changes will then appear automatically.
