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.

  1. Welcome Screen did not appear.
  2. If i press Save in HomeDesigner and FloorMapEditor, the following error occurs and it is not saved.
  3. Script missing occurs in Custom volume of HomeDesigner scene.
  4. 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);

    ljhx2 Hi! Sorry for the late reply.
    Thank you for reporting, unfortunately the welcome screen and helper windows are not working in 2021.3+ so there are 2 packages available, depending on your unity version.

    I'm working on fixing these compatibility issues.

    I will look into the other issues you are encountering and keep you posted.
    If you try with unity 2019 it should be working better.
    Which rendering pipeline are you using?

    Thanks!

      Thank you for the reply.

      I am using the Built-in Render pipeline.

      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);

        ljhx2 Hi sorry for the delay responding, I'm in vacation with limited access to Internet.

        Yes indeed ReferenceLoopHandling.Ignore is the way to go and I had implemented this fix before but for some reason it's not there anymore. I probably reverted the fix by mistake. Thanks for bringing this up!

        I'm working on the 2 windows and managed to have them working on Unity 2021 but there is a last bug to fix before I can send you the update.

        Thanks for your patience!
        Anthony

          7 days later

          ljhx2 I finally managed to fix the UIElements issues happening on Unity 2021.2+.
          So I published a new version compatible with all unity versions.
          I also included the ReferenceLoopHandling.Ignore setting, and another minor bug fix.
          After updating, let me know if you have other issues popping.

          Thanks!

            2 years later

            Get the same exception.

              Write a Reply...