Skip to content

Commit e280db4

Browse files
committed
- Adding support for Unity 6
Fixed warning/build errors with unity 6 preview1 ahead of the release. - Unity Bindings: Consider HAPI_Transform structs as serializable. This will remove the obsolete "MarshalAs UnmanagedType.Struct" warnings when using the plugin's generated C# binding. The warning was: 'UnmanagedType.Struct' is obsolete: 'Applying UnmanagedType.Struct is unnecessary when marshalling a struct. Support for UnmanagedType.Struct when marshalling a reference type may be unavailable in future releases.'
1 parent c22eab1 commit e280db4

File tree

6 files changed

+45
-3
lines changed

6 files changed

+45
-3
lines changed

Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_BoundingVolume.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ public List<GameObject> GetAllIntersectingObjects()
5555
}
5656

5757
List<GameObject> intersectingObjects = new List<GameObject>();
58+
#if UNITY_6000_0_OR_NEWER
59+
GameObject[] allObjects = UnityEngine.Object.FindObjectsByType<GameObject>(FindObjectsSortMode.None);
60+
#else
5861
GameObject[] allObjects = UnityEngine.Object.FindObjectsOfType<GameObject>();
62+
#endif
5963
foreach (GameObject obj in allObjects)
6064
{
6165
if (obj == this.gameObject)

Plugins/HoudiniEngineUnity/Scripts/Asset/HEU_HoudiniAsset.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4672,7 +4672,11 @@ internal void AddToAssetDBCache(string assetObjectFileName, UnityEngine.Object o
46724672
/// <param name="bShow">True to show</param>
46734673
internal static void SetCurvesVisibilityInScene(bool bShow)
46744674
{
4675+
#if UNITY_6000_0_OR_NEWER
4676+
HEU_HoudiniAsset[] houdiniAssets = GameObject.FindObjectsByType<HEU_HoudiniAsset>(FindObjectsSortMode.None);
4677+
#else
46754678
HEU_HoudiniAsset[] houdiniAssets = GameObject.FindObjectsOfType<HEU_HoudiniAsset>();
4679+
#endif
46764680
foreach (HEU_HoudiniAsset asset in houdiniAssets)
46774681
{
46784682
List<HEU_Curve> curves = asset.Curves;

Plugins/HoudiniEngineUnity/Scripts/Core/HEU_HAPIUtility.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,11 @@ public static bool IsNodeValidInHoudini(HEU_SessionBase session, HAPI_NodeId nod
886886
public static HEU_HoudiniAssetRoot GetAssetInScene(HAPI_NodeId assetID)
887887
{
888888
HEU_HoudiniAssetRoot foundAsset = null;
889+
#if UNITY_6000_0_OR_NEWER
890+
HEU_HoudiniAssetRoot[] houdiniAssets = GameObject.FindObjectsByType<HEU_HoudiniAssetRoot>(FindObjectsSortMode.None);
891+
#else
889892
HEU_HoudiniAssetRoot[] houdiniAssets = GameObject.FindObjectsOfType<HEU_HoudiniAssetRoot>();
893+
#endif
890894

891895
foreach (HEU_HoudiniAssetRoot assetRoot in houdiniAssets)
892896
{

Plugins/HoudiniEngineUnity/Scripts/Sessions/HEU_SessionManager.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,12 @@ public static void LoadAllSessionData()
226226
private static void InternalValidateSceneAssets()
227227
{
228228
// Go through each asset, and validate in session
229+
#if UNITY_6000_0_OR_NEWER
230+
HEU_HoudiniAsset[] assets = GameObject.FindObjectsByType<HEU_HoudiniAsset>(FindObjectsSortMode.None);
231+
#else
229232
HEU_HoudiniAsset[] assets = GameObject.FindObjectsOfType<HEU_HoudiniAsset>();
233+
#endif
234+
230235
foreach (var asset in assets)
231236
{
232237
if (asset.SessionID != HEU_Defines.HEU_INVALID_NODE_ID)

Plugins/HoudiniEngineUnity/Scripts/Utility/HEU_EditorUtility.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,10 @@ public static bool IsEditingInPrefabMode(GameObject obj)
291291
public static bool IsDisconnectedPrefabInstance(GameObject go)
292292
{
293293
#if UNITY_EDITOR
294-
#if UNITY_2018_3_OR_NEWER
294+
#if UNITY_6000_0_OR_NEWER
295+
// Disconnected prefabs are no longer supported
296+
return false;
297+
#elif UNITY_2018_3_OR_NEWER
295298
return PrefabUtility.IsDisconnectedFromPrefabAsset(go);
296299
#elif UNITY_2018_2_OR_NEWER
297300
return PrefabUtility.GetPrefabType(go) == PrefabType.DisconnectedPrefabInstance;
@@ -1045,7 +1048,11 @@ public static HEU_HoudiniAssetRoot[] GetSelectedAssetRoots()
10451048
/// <returns>List of all Houdini asset root components in the scene (HEU_HoudiniAssetRoot)</returns>
10461049
public static HEU_HoudiniAssetRoot[] GetAllAssetRoots()
10471050
{
1051+
#if UNITY_6000_0_OR_NEWER
1052+
return GameObject.FindObjectsByType<HEU_HoudiniAssetRoot>(FindObjectsSortMode.None);
1053+
#else
10481054
return GameObject.FindObjectsOfType<HEU_HoudiniAssetRoot>();
1055+
#endif
10491056
}
10501057

10511058
/// <summary>

Plugins/HoudiniEngineUnity/Scripts/Utility/HEU_RenderingPipelineDefines.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,18 @@ private static void UpdateDefines()
101101
public static HEU_PipelineType GetPipeline()
102102
{
103103
#if UNITY_2019_1_OR_NEWER
104+
#if UNITY_6000_0_OR_NEWER
105+
if (GraphicsSettings.defaultRenderPipeline != null)
106+
#else
104107
if (GraphicsSettings.renderPipelineAsset != null)
108+
#endif
105109
{
106110
// SRP
111+
#if UNITY_6000_0_OR_NEWER
112+
var srpType = GraphicsSettings.defaultRenderPipeline.GetType().ToString();
113+
#else
107114
var srpType = GraphicsSettings.renderPipelineAsset.GetType().ToString();
115+
#endif
108116
if (srpType.Contains("HDRenderPipelineAsset"))
109117
{
110118
return HEU_PipelineType.HDRP;
@@ -159,12 +167,17 @@ public static void RemoveDefine(string define)
159167
public static List<string> GetDefines()
160168
{
161169
#if UNITY_EDITOR
162-
var target = EditorUserBuildSettings.activeBuildTarget;
170+
var target = EditorUserBuildSettings.activeBuildTarget;
163171
var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(target);
172+
#if UNITY_6000_0_OR_NEWER
173+
var defines = PlayerSettings.GetScriptingDefineSymbols(UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup));
174+
#else
164175
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
176+
#endif
177+
165178
return defines.Split(';').ToList();
166179
#else
167-
return new List<string>();
180+
return new List<string>();
168181
#endif
169182
}
170183

@@ -174,7 +187,12 @@ public static void SetDefines(List<string> definesList)
174187
var target = EditorUserBuildSettings.activeBuildTarget;
175188
var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(target);
176189
var defines = string.Join(";", definesList.ToArray());
190+
#if UNITY_6000_0_OR_NEWER
191+
PlayerSettings.SetScriptingDefineSymbols(UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup), defines);
192+
#else
177193
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, defines);
194+
#endif
195+
178196
#endif
179197
}
180198
}

0 commit comments

Comments
 (0)