Search Unity

Question Artifact Versioning

Discussion in 'Asset Database' started by mehmet_ali_duran, Sep 30, 2022.

  1. mehmet_ali_duran

    mehmet_ali_duran

    Joined:
    Mar 2, 2020
    Posts:
    9
    There is something I still couldn't get a good grasp of, related to the Artifacts in AssetDatabase.
    Official documentation states in this page Asset Database's under the The Artifact database heading:
    "Artifacts are the results of the import process. The Artifact database contains information about the import results of each source asset. Each Artifact contains the import dependency information, Artifact meta-information and a list of Artifact files."

    In the same page, after navigating alittle bit down, under the Platform Switching and reimporting:
    "... the platform is part of the hash that the Asset Database uses to store the import results for Unity’s built-in importers. This means that the results for importing your assets on different platforms are stored as separate pieces of cached data."

    So, when I add a new Texture to my project, I can observe the creatin of the artifact via the Import Activity window. With the Show Previous Imports option being on, I can keep track of the whole changes step by step. This Previous Imports section has a column named Artifact ID and looks quite unique like a GUID. There is also another piece of info on the Asset-related section under the Produced Files / Artifacts. The artifact name looks like being generated from the hash itself.

    According to my understanding of the official documentation, if I change the name of the asset, the artifact itself should change, a new artifact is produced. And, this happens exactly as expected. Morever, the same result must be observed if I simply switch platforms. However, in this case, the only changing thing is the Artifact ID in the Previous Imports section, not the real artifact file, as stated in the Asset-related section of the window.

    I don't know if I have missed something crucial about the whole process, but I can't understand why things happen this way. I'd really apreciate if you tell me the whole logic behind this process.

    Pics indicate the change for this order: initial import, platform change and finally name change for the file.


    name change.PNG


    platform switch.PNG


    initial import.png
     

    Attached Files:

  2. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    6,005
    upload_2022-9-30_16-45-54.png
    No S***! You don't happen to be in Stuttgart, are you? :cool:


    As for switching platforms, this could be an internal optimization. Switching platforms used to take just as long as deleting the Library folder and re-importing the whole project - and that happened every time the platforms were switched, which was a huge time waste for multi-platform devs.

    If I remember correctly this was eventually improved and the fact that the Artifact Id remains the same when switching may be a side-effect of that. I expect there to be another cache of platform-specific artifacts somewhere in the Library.

    Why is that important to you?