From aae71c4205a639f5f1274ccf826ad3063c7e77e2 Mon Sep 17 00:00:00 2001 From: "Aaron C." Date: Wed, 26 Nov 2025 15:35:16 -0600 Subject: [PATCH 1/2] Fixed compiler errors on incorrect [SerializeField] attributes ... The C# [SerializeField] attribute in Unity is only allowed on fields, not the get/set methods of a property, therefore when serializing the backing field of an auto-property (implicit backing field generated by Roslyn), it is necessary to use the `field:` specifier to target that generated field: [SerializeField] public int Counter { get; set; } //! ERROR [field: SerializeField] public int Counter { get; set; } //! OK --- .../HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs b/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs index 62dad979..c843e6a3 100644 --- a/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs +++ b/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs @@ -565,7 +565,7 @@ internal AssetCookResult GetLastCookResult() [SerializeField] private long _sessionID = HEU_SessionData.INVALID_SESSION_ID; - [SerializeField] internal bool WarnedPrefabNotSupported { get; set; } + [field: SerializeField] internal bool WarnedPrefabNotSupported { get; set; } // UI TOGGLES ------------------------------------------------------------------------------------------------- @@ -595,7 +595,7 @@ internal AssetCookResult GetLastCookResult() [SerializeField] private HEU_InstanceInputUIState _instanceInputUIState; - [SerializeField] + [field: SerializeField] internal HEU_InstanceInputUIState InstanceInputUIState { get { return _instanceInputUIState; } @@ -5679,4 +5679,4 @@ public bool IsEquivalentTo(HEU_HoudiniAsset asset) return bResult; } } -} // HoudiniEngineUnity \ No newline at end of file +} // HoudiniEngineUnity From efc47865302995bf59a2e5d895cb4a11e97e0f3c Mon Sep 17 00:00:00 2001 From: Aaron Carter <89698828+atcarter714@users.noreply.github.com> Date: Thu, 4 Dec 2025 00:10:34 -0600 Subject: [PATCH 2/2] Update HEU_HoudiniAsset.cs Line 598 actually needs no `SerializeFieldAttribute` ... I overlooked the explicit field already tagged with it right above it. --- Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs b/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs index c843e6a3..a024fa5f 100644 --- a/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs +++ b/Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs @@ -595,7 +595,7 @@ internal AssetCookResult GetLastCookResult() [SerializeField] private HEU_InstanceInputUIState _instanceInputUIState; - [field: SerializeField] + //! No attribute needed here (explicit field already serialized above) internal HEU_InstanceInputUIState InstanceInputUIState { get { return _instanceInputUIState; } @@ -5680,3 +5680,4 @@ public bool IsEquivalentTo(HEU_HoudiniAsset asset) } } } // HoudiniEngineUnity +