After purchasing the 'HOME DESIGNER - BUNDLE' asset, import it and install 'DOTween', 'Lean Touch', and 'FBX Exporter' as described in the manual. And in PlayerSettings I changed the Scripting Backend to IL2CPP.
Several bugs were found during this process.
- Welcome Screen did not appear.
- If i press Save in HomeDesigner and FloorMapEditor, the following error occurs and it is not saved.
- Script missing occurs in Custom volume of HomeDesigner scene.
- outline does not appear.
I tested with the 2021.3.6f1 version and the 2021.3.1f1 version, but the result was the same.
I also tested the 2020.3.37f1 version.
Welcomscreen and outline worked fine, but when the save button was pressed, the following error occurred and it was not saved. And the grid is not visible in FloorMapEditor.
The version of HOME DESIGNER - BUNDEL 2022 is 2.0.4.
2-1 (homedesigner)
JsonSerializationException: Self referencing loop detected for property 'linear' with type 'UnityEngine.Color'. Path 'floors[0].sceneObjects[0].colorVariant'.
Exoa.Json.Serialization.JsonSerializerInternalWriter.CheckForCircularReference (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonProperty property, Exoa.Json.Serialization.JsonContract contract, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContainerContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonProperty property, Exoa.Json.Serialization.JsonContract& memberContract, System.Object& memberValue) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Exoa.Json.JsonWriter writer, System.Collections.IEnumerable values, Exoa.Json.Serialization.JsonArrayContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Exoa.Json.JsonWriter writer, System.Collections.IEnumerable values, Exoa.Json.Serialization.JsonArrayContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.Serialize (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonSerializer.SerializeInternal (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonSerializer.Serialize (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObjectInternal (System.Object value, System.Type type, Exoa.Json.JsonSerializer jsonSerializer) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, System.Type type, Exoa.Json.Formatting formatting, Exoa.Json.JsonSerializerSettings settings) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, Exoa.Json.Formatting formatting, Exoa.Json.JsonSerializerSettings settings) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, Exoa.Json.Formatting formatting) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Designer.InteriorSerializer.SerializeScene () (at Assets/Exoa/HomeDesigner/Scripts/Serialization/InteriorSerializer.cs:315)
Exoa.Designer.UISaving.SaveInternal (System.String name, System.Action1[T] callback) (at Assets/Exoa/Common/Scripts/UI/UISaving.cs:354)
Exoa.Designer.UISaving.<Start>b__23_0 () (at Assets/Exoa/Common/Scripts/UI/UISaving.cs:60)
UnityEngine.Events.InvokableCall.Invoke () (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction
1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272)
UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:501)
2-2 (floormapeditor)
JsonSerializationException: Self referencing loop detected for property 'normalized' with type 'UnityEngine.Vector3'. Path 'floors[0].spaces[0].normalizedPositions[0].normalized'.
Exoa.Json.Serialization.JsonSerializerInternalWriter.CheckForCircularReference (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonProperty property, Exoa.Json.Serialization.JsonContract contract, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContainerContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonProperty property, Exoa.Json.Serialization.JsonContract& memberContract, System.Object& memberValue) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Exoa.Json.JsonWriter writer, System.Collections.IEnumerable values, Exoa.Json.Serialization.JsonArrayContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Exoa.Json.JsonWriter writer, System.Collections.IEnumerable values, Exoa.Json.Serialization.JsonArrayContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Exoa.Json.JsonWriter writer, System.Collections.IEnumerable values, Exoa.Json.Serialization.JsonArrayContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonObjectContract contract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract collectionContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Exoa.Json.JsonWriter writer, System.Object value, Exoa.Json.Serialization.JsonContract valueContract, Exoa.Json.Serialization.JsonProperty member, Exoa.Json.Serialization.JsonContainerContract containerContract, Exoa.Json.Serialization.JsonProperty containerProperty) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.Serialization.JsonSerializerInternalWriter.Serialize (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonSerializer.SerializeInternal (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonSerializer.Serialize (Exoa.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObjectInternal (System.Object value, System.Type type, Exoa.Json.JsonSerializer jsonSerializer) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, System.Type type, Exoa.Json.Formatting formatting, Exoa.Json.JsonSerializerSettings settings) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, Exoa.Json.Formatting formatting, Exoa.Json.JsonSerializerSettings settings) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Json.JsonConvert.SerializeObject (System.Object value, Exoa.Json.Formatting formatting) (at <c4c9fdf169af4e5caa9d4e769817d01c>:0)
Exoa.Designer.FloorMapSerializer.SerializeScene () (at Assets/Exoa/FloorMapDesigner/Scripts/Serialization/FloorMapSerializer.cs:305)
Exoa.Designer.UISaving.SaveInternal (System.String name, System.Action1[T] callback) (at Assets/Exoa/Common/Scripts/UI/UISaving.cs:354)
Exoa.Designer.UISaving.<Start>b__23_0 () (at Assets/Exoa/Common/Scripts/UI/UISaving.cs:60)
UnityEngine.Events.InvokableCall.Invoke () (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction
1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272)
UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:501)
[Edit]
In the part where 'JsonSerializationException' occurs
I added code to handle the error.
Is there any problem with the resulting json file even with this modification?
JsonSerializerSettings setting = new JsonSerializerSettings();
setting.Formatting = Formatting.Indented;
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
return JsonConvert.SerializeObject(currentInteriorFile, Formatting.Indented, setting);