textmeshrpo saving is not working?

Discussion and help for Easy Save 3
Post Reply
Uchiha I_T_H_
Posts: 20
Joined: Tue Apr 20, 2021 4:34 am

textmeshrpo saving is not working?

Post by Uchiha I_T_H_ »

I am trying auto save on textmesh pro but it couldn't do it . it gives error that font asset is null. tried to tick font field in types but still same result.
any solution?
User avatar
Joel
Moodkie Staff
Posts: 4826
Joined: Wed Nov 07, 2012 10:32 pm

Re: textmeshrpo saving is not working?

Post by Joel »

Hi there,

We don't natively support TextMesh Pro so there's no guarantee it will work. However, if you replicate the issue in a new project with a simple scene and private message it to me I'll be happy to look into it further.

All the best,
Joel
Joel @ Moodkie Interactive
Purchase Easy Save | Contact | Guides | Docs | Getting started
Uchiha I_T_H_
Posts: 20
Joined: Tue Apr 20, 2021 4:34 am

Re: textmeshrpo saving is not working?

Post by Uchiha I_T_H_ »

I am not doing anything fancy. I am just trying auto save feature on textmesh pro nothing else.
To reproduce use auto save feature and tick Textmesh pro for save. run the scene twice ( first time to save and then second time to load).
The error I get is that it doesn't able to find font asset by reference.
Image



https://cdn.discordapp.com/attachments/ ... 24-978.mp4


error message--->


Reference for TMPro.TMP_FontAsset with ID 2226998858876783974 could not be found in Easy Save's reference manager. If you are loading objects dynamically (i.e. objects created at runtime), this warning is expected and can be ignored.
To disable warnings from Easy Save, go to Window > Easy Save 3 > Settings, and uncheck 'Log Warnings'
UnityEngine.Debug:LogWarningFormat(Object, String, Object[])
ES3Internal.ES3Debug:LogWarning(String, Object, Int32) (at Assets/Project/Easy Save 3/Scripts/Debugging/ES3Debug.cs:30)
ES3Internal.ES3ReferenceMgrBase:Get(Int64, Type, Boolean) (at Assets/Project/Easy Save 3/Scripts/ES3ReferenceMgrBase.cs:167)
ES3Types.ES3ScriptableObjectType:ReadObject(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ScriptableObjectType.cs:51)
ES3Types.ES3ObjectType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:55)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Reader:Read() (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:126)
ES3Types.ES3UserType_TextMeshProUGUI:ReadComponent(ES3Reader, Object) (at Assets/Easy Save 3/Types/ES3UserType_TextMeshProUGUI.cs:115)
ES3Types.ES3ComponentType:ReadUnityObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ComponentType.cs:36)
ES3Types.ES3UnityObjectType:ReadObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:65)
ES3Types.ES3ObjectType:ReadInto(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:78)
ES3Types.ES3Type_GameObject:ReadComponents(ES3Reader, GameObject) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:211)
ES3Types.ES3Type_GameObject:ReadObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:162)
ES3Types.ES3ObjectType:ReadInto(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:78)
ES3Types.ES3Type_GameObject:ReadObject(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:126)
ES3Types.ES3ObjectType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:55)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3CollectionType:ReadICollection(ES3Reader, ICollection`1, ES3Type) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3CollectionType.cs:52)
ES3Types.ES3ArrayType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3ArrayType.cs:36)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:274)
ES3:Deserialize(ES3Type, Byte[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:783)
ES3:Deserialize(Byte[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:772)
ES3File:Load(String, GameObject[]) (at Assets/Project/Easy Save 3/Scripts/ES3File.cs:243)
ES3:Load(String, GameObject[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:415)
ES3AutoSaveMgr:Load() (at Assets/Project/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:92)
ES3AutoSaveMgr:Awake() (at Assets/Project/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:117)
Uchiha I_T_H_
Posts: 20
Joined: Tue Apr 20, 2021 4:34 am

Re: textmeshrpo saving is not working?

Post by Uchiha I_T_H_ »

I was able to fix the font asset issue with manually adding the font asset reference but still unity.mesh reference is an issue

Image
error code--->

Reference for UnityEngine.Mesh with ID 1797108305164466875 could not be found in Easy Save's reference manager. If you are loading objects dynamically (i.e. objects created at runtime), this warning is expected and can be ignored.
To disable warnings from Easy Save, go to Window > Easy Save 3 > Settings, and uncheck 'Log Warnings'
UnityEngine.Debug:LogWarningFormat(Object, String, Object[])
ES3Internal.ES3Debug:LogWarning(String, Object, Int32) (at Assets/Project/Easy Save 3/Scripts/Debugging/ES3Debug.cs:30)
ES3Internal.ES3ReferenceMgrBase:Get(Int64, Type, Boolean) (at Assets/Project/Easy Save 3/Scripts/ES3ReferenceMgrBase.cs:167)
ES3Types.ES3UnityObjectType:ReadObject(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:84)
ES3Types.ES3ObjectType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:55)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3Type:ReadProperties(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3Type.cs:158)
ES3Types.ES3ReflectedValueType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedValueType.cs:30)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3CollectionType:ReadICollection(ES3Reader, ICollection`1, ES3Type) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3CollectionType.cs:52)
ES3Types.ES3ArrayType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3ArrayType.cs:36)
ES3Types.ES3Type:ReadProperties(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3Type.cs:155)
ES3Types.ES3ReflectedObjectType:ReadObject(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:27)
ES3Types.ES3ObjectType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:55)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3Type:ReadProperties(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3Type.cs:158)
ES3Types.ES3ReflectedComponentType:ReadComponent(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedComponentType.cs:24)
ES3Types.ES3ComponentType:ReadUnityObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ComponentType.cs:36)
ES3Types.ES3UnityObjectType:ReadObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:65)
ES3Types.ES3ObjectType:ReadInto(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:78)
ES3Types.ES3Type_GameObject:ReadComponents(ES3Reader, GameObject) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:211)
ES3Types.ES3Type_GameObject:ReadObject(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:162)
ES3Types.ES3ObjectType:ReadInto(ES3Reader, Object) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:78)
ES3Types.ES3Type_GameObject:ReadObject(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:126)
ES3Types.ES3ObjectType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/ES3ObjectType.cs:55)
ES3Reader:ReadObject(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:249)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
ES3Types.ES3CollectionType:ReadICollection(ES3Reader, ICollection`1, ES3Type) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3CollectionType.cs:52)
ES3Types.ES3ArrayType:Read(ES3Reader) (at Assets/Project/Easy Save 3/Scripts/Types/Collection Types/ES3ArrayType.cs:36)
ES3Reader:Read(ES3Type) (at Assets/Project/Easy Save 3/Scripts/Readers/ES3Reader.cs:274)
ES3:Deserialize(ES3Type, Byte[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:783)
ES3:Deserialize(Byte[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:772)
ES3File:Load(String, GameObject[]) (at Assets/Project/Easy Save 3/Scripts/ES3File.cs:243)
ES3:Load(String, GameObject[], ES3Settings) (at Assets/Project/Easy Save 3/Scripts/ES3.cs:415)
ES3AutoSaveMgr:Load() (at Assets/Project/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:92)
ES3AutoSaveMgr:Awake() (at Assets/Project/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:117)
User avatar
Joel
Moodkie Staff
Posts: 4826
Joined: Wed Nov 07, 2012 10:32 pm

Re: textmeshrpo saving is not working?

Post by Joel »

Hi there,

This is because much of what the Text Mesh Pro Component uses is generated at runtime, meaning that the reference changes each time.

However, in most cases you don't actually need to save the entire Component, you only need to save the 'text' field. To do this you can click the gear icon next to the Component in the Auto Save window and ensure that only the 'text' property is selected.

All the best,
Joel
Joel @ Moodkie Interactive
Purchase Easy Save | Contact | Guides | Docs | Getting started
BoBlond
Posts: 11
Joined: Thu Jul 29, 2021 10:54 am

Re: textmeshrpo saving is not working?

Post by BoBlond »

Hi Joel

I have a similar issue.
I use auto save but not on the objects that gives me the bug.
Is there a way to exclude them from Auto save?

Thanks for a great tool!

All the best
Bo
User avatar
Joel
Moodkie Staff
Posts: 4826
Joined: Wed Nov 07, 2012 10:32 pm

Re: textmeshrpo saving is not working?

Post by Joel »

Hi Bo,

I'm not sure I understand. If you don't want an object to be saved by Auto Save, you simply ensure it's not selected in the Auto Save window.

If by 'object' you mean 'field', then you can press the 'gear' icon next to the Component in the Auto Save window and select which fields for that Component will be saved from there.

All the best,
Joel
Joel @ Moodkie Interactive
Purchase Easy Save | Contact | Guides | Docs | Getting started
Post Reply