Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unity の meta ファイルの過不足の merge を防止しよう / How to prevent missing or dangling meta files

Kuniwak
March 24, 2021

Unity の meta ファイルの過不足の merge を防止しよう / How to prevent missing or dangling meta files

Gotanda.unity #17 sponsored by 株式会社キッズスター 2021/3/24
https://meetup.unity3d.jp/jp/events/1279

Kuniwak

March 24, 2021
Tweet

More Decks by Kuniwak

Other Decks in Programming

Transcript

  1. 6OJUZͷNFUBϑΝΠϧͷ
    աෆ଍Λ๷ࢭ͠Α͏
    Kuniwak - DeNA Co.,Ltd.
    2021.03.24 Gotanda.unity #17

    View Slide

  2. ෼ؒͰ఻͍͑ͨ͜ͱ

    View Slide

  3. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    3
    ఻͍͑ͨ͜ͱ

    View Slide

  4. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    4
    ·ͣ͜ΕΛղઆ
    ఻͍͑ͨ͜ͱ

    View Slide

  5. NFUBϑΝΠϧͱ͸

    View Slide

  6. 6
    NFUBϑΝΠϧ͸Ξηοτͷϝλ৘ใ͕ه࿥͞ΕͨϑΝΠϧ
    IUUQTEPDTVOJUZEDPN%PDVNFOUBUJPO.BOVBM"TTFU8PSLqPXIUNM
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    internalIDToNameTa
    externalObjects: {}
    serializedVersion:
    mipmaps:
    mipMapMode: 0

    ը૾ΞηοτΛ
    JNQPSU
    ରԠ͢ΔNFUBϑΝΠϧ͕
    ࣗಈੜ੒͞ΕΔ
    6OJUZͷΠϯεϖΫλ͔Β
    ͍͡ΕΔ
    TBNQMFQOH TBNQMFQOHNFUB

    View Slide

  7. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    7
    ͜͜·Ͱ͸0,
    ఻͍͑ͨ͜ͱ

    View Slide

  8. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    8
    Կ͕ى͜Δͷ͔
    ఻͍͑ͨ͜ͱ

    View Slide

  9. NFUBϑΝΠϧաෆ଍ͷᜁΓ

    View Slide

  10. NFUBϑΝΠϧΛ
    DPNNJU͠๨ΕΔ
    όάΔ͔΋
    NFUBϑΝΠϧΛ
    ফ͠๨ΕΔ
    ࡞ۀͷअຐ

    View Slide

  11. NFUBϑΝΠϧΛ
    DPNNJU͠๨ΕΔ
    όάΔ͔΋
    NFUBϑΝΠϧΛ
    ফ͠๨ΕΔ
    ࡞ۀͷअຐ

    View Slide

  12. 12
    NFUBϑΝΠϧͷDPNNJU๨Ε͸όάͷݪҼʹͳΔ
    TBNQMFNBUʢϚςϦΞϧʣ
    TBNQMFQOHʢςΫενϟʣ
    TBNQMFQOHNFUB
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    ...
    ςΫενϟͷࢀর
    ϚςϦΞϧ͔Β
    ςΫενϟΛ
    ࢀর͍ͨ͠

    View Slide

  13. 13
    NFUBϑΝΠϧͷDPNNJU๨Ε͸όάͷݪҼʹͳΔ
    TBNQMFNBUʢϚςϦΞϧʣ
    TBNQMFQOHʢςΫενϟʣ
    TBNQMFQOHNFUB
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    ...
    NFUB಺ͷ(6*%Λࢀর
    ࣮ମ
    ը૾ͷNFUBʹ
    ॻ͔Εͨ(6*%͕
    ϚςϦΞϧଆʹ
    ॻ͔ΕͯΔ͜ͱͰ
    ࣮ݱ͞Ε͍ͯΔ

    View Slide

  14. 14
    NFUBϑΝΠϧͷDPNNJU๨Ε͸όάͷݪҼʹͳΔ
    TBNQMFNBUʢϚςϦΞϧʣ
    TBNQMFQOHʢςΫενϟʣ
    TBNQMFQOHNFUBʢผ෺ʣ
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    ...
    NFUB಺ͷ(6*%Λࢀর
    ࣮ମ
    ΋͠NFUBϑΝΠϧΛ
    DPNNJU͠๨ΕΔͱɺ
    ผͷਓͷ؀ڥͩͱ
    ผͷNFUBϑΝΠϧ͕
    ࣗಈੜ੒͞Εͯ͠·͏

    View Slide

  15. 15
    NFUBϑΝΠϧͷDPNNJU๨Ε͸όάͷݪҼʹͳΔ
    TBNQMFNBUʢϚςϦΞϧʣ
    TBNQMFQOHʢςΫενϟʣ
    TBNQMFQOHNFUBʢผ෺ʣ
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    ...
    NFUB಺ͷ(6*%Λࢀর
    ࣮ମ
    ผͷNFUBʹ͸ผͷ
    (6*%͕ৼΒΕΔͷͰ
    ࢀর͕੾ΕΔ

    View Slide

  16. 16
    NFUBϑΝΠϧͷDPNNJU๨Ε͸όάͷݪҼʹͳΔ
    TBNQMFNBUʢϚςϦΞϧʣ
    TBNQMFQOHʢςΫενϟʣ
    TBNQMFQOHNFUBʢผ෺ʣ
    fileFormatVersion: 2
    guid: 96e963ca667b44…
    TextureImporter:
    ...
    NFUB಺ͷ(6*%Λࢀর
    ࣮ମ
    ςΫενϟͷࢀর
    ݁ՌతʹϚςϦΞϧ͸
    ςΫενϟΛࢀর
    Ͱ͖ͳ͘ͳͬͯόάΔ

    View Slide

  17. NFUBϑΝΠϧΛ
    DPNNJU͠๨ΕΔ
    όάΔ͔΋
    NFUBϑΝΠϧΛ
    ফ͠๨ΕΔ
    ࡞ۀͷअຐ

    View Slide

  18. NFUBϑΝΠϧΛফ͠๨ΕΔͱ
    खݩͰຖ౓ؔ܎ͳ͍ࠩ෼͕ग़ͯ͏͍͟

    View Slide

  19. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    19
    ΍͹͍͠͏͍͟
    ఻͍͑ͨ͜ͱ

    View Slide

  20. 20
    ͔͠͠ɺͨͼͨͼNFUBϑΝΠϧͷ
    աෆ଍͕ຖ೔ൃੜ͍ͯͨ͠
    ͦ͜ͰNFUBϑΝΠϧͷաෆ଍Λ໷ͳ໷ͳ
    ௚͢༯ਫ਼͞Μ͕஀ੜͨ͠ͱ͍͏ʜ

    View Slide

  21. ͦ͜Ͱ༯ਫ਼͞ΜΛۤߦ͔Βղ์͢Δ
    πʔϧΛͭ͘Γ·ͨ͠

    View Slide

  22. View Slide

  23. 23
    $ cd /path/to/unity/project
    $ unity-meta-check -silent
    missing: Autofix/Missing.meta
    missing: Missing.meta
    dangling: Autofix/Dangling.meta
    dangling: Dangling.meta
    λʔϛφϧͰ΋؆୯ʹ࣮ߦͰ͖Δ

    View Slide

  24. 24
    NFUBʹաෆ଍͕͋Δ13ͷNFSHFΛ
    CMPDL͢Ε͹ଞͷਓͷ࡞ۀΛࢭΊͳ͍ͰࡁΉ

    View Slide

  25. 25
    ݕࠪͷ࣮ߦ࣌ؒ෼࡞ۀ͕
    ࢭ·ͬͯ͠·͏͜ͱʹ஫ҙ
    NFUBʹաෆ଍͕͋Δ13ͷNFSHFΛ
    CMPDL͢Ε͹ଞͷਓͷ࡞ۀΛࢭΊͳ͍ͰࡁΉ

    View Slide

  26. 6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢
    26
    ͜͜ॏཁ
    ఻͍͑ͨ͜ͱ

    View Slide

  27. ετϨεͷͳ͞

    View Slide

  28. Ξηοτ
    ࣮ߦ଎౓ඵ

    View Slide

  29. +FOLJOTʹࡌ͚ͬͯ΋
    ࣮ߦ଎౓ඵະຬ
    +FOLJOTͷ଴ͪ࣌ؒͱήʔϜຊମͷQVMM࣌ؒͷΦʔόʔϔου͕௕͍

    View Slide

  30. ΍͔ͬͨʜʂʁʢϑϥάʣ

    View Slide

  31. 31
    +FOLJOT্Ͱੜ੒͞ΕͨΞηοτ
    ʢϚελʔσʔλ౳ʣʹ
    NFUBϑΝΠϧ͕ͳ͍ʜ

    View Slide

  32. 32
    $ unity-meta-check | unity-meta-autofix \
    -fix-missing \
    -fix-dangling \
    ./Assets/AutoGenerated/
    ؆қతͳBVUPpYػೳ͸͡Ί·ͨ͠

    View Slide

  33. ͜ΕͰ࣮ӡ༻ʹ৐Ε·ͨ͠

    View Slide

  34. ӡ༻ͯ͠Θ͔ͬͨ͜ͱ

    View Slide

  35. NFUBաෆ଍໰୊͸
    ୭΋ѱ͘ͳ͔ͬͨ
    ਓʑ͸6OJUZͱ(JUʹ
    ຋࿔͞Ε͍ͯΔ͚ͩͩͬͨ

    ࠔͬͯͨਓ͕6OJUZ࠶ىಈͨ͠Β࣏Γ·ͨ͠ใࠂ͢ΔͳͲṖ͕ਂ͍
    (JU͸ۭϑΥϧμΛ෮ݩ͠ͳ͍ͷͰରԠͨ͠NFUB͕஦ʹු͘
    ʢͨͩ͠6OJUZ͔Β͸ۭϑΥϧμ࡞ͬͯ͘ΕΔʣ


    View Slide

  36. ·ͱΊ
    36
    6OJUZͰॏཁͳNFUBϑΝΠϧͷաෆ଍Λ
    ετϨεͳ͘ݟ͚ͭΔπʔϧ͸͍͔͕Ͱ͔͢

    View Slide

  37. 37
    Πϯετʔϧํ๏͸3&"%.&ΛΈ͍ͯͩ͘͞ɿ
    https://github.com/DeNA/unity-meta-check

    View Slide