The package cache was invalidated and rebuilt because the following immutable asset(s) were unexpectedly altered: Packages/com.unity.textmeshpro/Scripts/Editor/TMP_SpriteAssetImporter.cs
Import Error Code:(4) Message: Build asset version error: packages/com.unity.textmeshpro/scripts/editor/tmp_spriteassetimporter.cs in SourceAssetDB has modification time of '2024-05-31T07:49:00.8515411Z' while content on disk has modification time of '2024-05-17T04:35:48Z'
using System.Collections.Generic; using System.IO; using System.Reflection; using TMPro; using TMPro.EditorUtilities; using TMPro.SpriteAssetUtilities; using UnityEditor; using UnityEngine;
///<summary> /// ///</summary> privatevoidOnDisable() { // Clean up sprite asset object that may have been created and not saved. if (m_SpriteAsset != null && !EditorUtility.IsPersistent(m_SpriteAsset)) DestroyImmediate(m_SpriteAsset); }
// Clean up sprite asset object that may have been previously created. if (m_SpriteAsset != null && !EditorUtility.IsPersistent(m_SpriteAsset)) DestroyImmediate(m_SpriteAsset);
// Read json data file if (m_JsonFile != null) { switch (m_SpriteDataFormat) { case SpriteAssetImportFormats.TexturePackerJsonArray: TexturePacker_JsonArray.SpriteDataObject jsonData = null; try { jsonData = JsonUtility.FromJson<TexturePacker_JsonArray.SpriteDataObject>(m_JsonFile.text); } catch { m_CreationFeedback = "The Sprite Data Source file [" + m_JsonFile.name + "] appears to be invalid or incorrectly formatted."; }
if (jsonData != null && jsonData.frames != null && jsonData.frames.Count > 0) { int spriteCount = jsonData.frames.Count;
// Update import results m_CreationFeedback = "<b>Import Results</b>\n--------------------\n"; m_CreationFeedback += "<color=#C0ffff><b>" + spriteCount + "</b></color> Sprites were imported from file.";
// Create new Sprite Asset m_SpriteAsset = CreateInstance<TMP_SpriteAsset>();
List<TMP_SpriteGlyph> spriteGlyphTable = new List<TMP_SpriteGlyph>(); List<TMP_SpriteCharacter> spriteCharacterTable = new List<TMP_SpriteCharacter>();
///<summary> /// ///</summary> ///<param name="filePath"></param> voidSaveSpriteAsset(string filePath) { filePath = filePath.Substring(0, filePath.Length - 6); // Trim file extension from filePath.
string dataPath = Application.dataPath;
if (filePath.IndexOf(dataPath, System.StringComparison.InvariantCultureIgnoreCase) == -1) { Debug.LogError("You're saving the font asset in a directory outside of this project folder. This is not supported. Please select a directory under \"" + dataPath + "\""); return; }
// Save Sprite Asset AssetDatabase.CreateAsset(m_SpriteAsset, pathNoExt + ".asset");
// Set version number //m_SpriteAsset.version = "1.1.0"; var curType = m_SpriteAsset.GetType(); FieldInfo fieldInfo = curType.GetField("m_Version", BindingFlags.NonPublic | BindingFlags.Instance); fieldInfo.SetValue(m_SpriteAsset, "1.1.0");
// Compute the hash code for the sprite asset. m_SpriteAsset.hashCode = TMP_TextUtilities.GetSimpleHashCode(m_SpriteAsset.name);
// Add new default material for sprite asset. AddDefaultMaterial(m_SpriteAsset); }
///<summary> /// Create and add new default material to sprite asset. ///</summary> ///<param name="spriteAsset"></param> staticvoidAddDefaultMaterial(TMP_SpriteAsset spriteAsset) { Shader shader = Shader.Find("TextMeshPro/Sprite"); Material material = new Material(shader); material.SetTexture(ShaderUtilities.ID_MainTex, spriteAsset.spriteSheet);