hippogamesunity / HeroEditor4DHub

10 stars 0 forks source link

Assets Work Fine From Unity Preview Editor, Fail With Errors For Platform Builds #31

Open nraboy opened 3 years ago

nraboy commented 3 years ago

Hi,

I recently purchased this asset and have found it incredibly easy to use. Everything is working as expected in the preview player built into the Unity IDE, but when I go to build for a platform like macOS, I get a flood of errors:

Assets/HeroEditor4D/Common/CharacterScripts/CharacterSerializer.cs(7,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/Common/EditorScripts/CharacterEditor.cs(12,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(3,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/ItemParams.cs(6,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(6,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Interface/Elements/ScrollInventory.cs(8,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(65,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(65,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(20,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(20,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(66,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(66,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(67,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(67,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(68,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(68,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(21,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(21,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(69,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(69,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(70,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(70,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(22,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(22,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(71,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(71,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(72,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(72,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(23,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(23,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(73,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(73,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(74,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(74,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(24,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(24,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(75,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(75,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(76,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(76,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(77,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(77,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(25,28): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(25,28): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(78,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(78,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(79,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(79,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(80,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(80,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(81,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(81,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(82,10): error CS0246: The type or namespace name 'JsonIgnoreAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Item.cs(82,10): error CS0246: The type or namespace name 'JsonIgnore' could not be found (are you missing a using directive or an assembly reference?)

Error building Player because scripts had compiler errors

Build completed with a result of 'Failed' in 4 seconds (3639 ms)
UnityEditor.GenericMenu:CatchMenu (object,string[],int) (at /Users/bokken/buildslave/unity/build/Editor/Mono/GUI/GenericMenu.cs:127)

UnityEditor.BuildPlayerWindow+BuildMethodException: 55 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002cc] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:193 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:94 
UnityEditor.GenericMenu:CatchMenu (object,string[],int) (at /Users/bokken/buildslave/unity/build/Editor/Mono/GUI/GenericMenu.cs:127)

I had seen mention of the NewtonSoft problems in the FAQ and in the Discord. The proposed solution was to remove the NewtonSoft DLL from the asset, but after doing this, I ended up with significantly more errors both when building and while previewing this time.

Any help would be appreciated.

I'm using 2021.2.0b9 and I'm developing on a Mac. The 2021.2.x version is a requirement due to compatibility with a library that my company has produced.

Thanks,

nraboy commented 3 years ago

I have followup, just so it is documented for future users.

I got the assets working without removing them and without changing the versions. For whatever reason the DLL was configured to not be included in platform builds. I found this by clicking on the DLL within the Unity Inspector and noticing that none of the boxes for platform builds were selected.

To get everything working, I had to check the boxes for the DLL within the inspector for the build platforms that I wanted.

After doing this everything worked.

I'm not a Unity power-user so I don't know if this can be corrected from an asset development level or not. If it can, it would be worth it for the developers to check these boxes for us.

Regardless, good work!

hippogamesunity commented 3 years ago

Hi, do you mean these checkboxes? image

nraboy commented 3 years ago

Yes exactly!

Those checkboxes were all unchecked by default. It wasn't until I checked them that the errors went away for a build.