diff --git a/openpype/hosts/houdini/plugins/create/create_hda.py b/openpype/hosts/houdini/plugins/create/create_hda.py index 2af1e4a257..459da8bfdf 100644 --- a/openpype/hosts/houdini/plugins/create/create_hda.py +++ b/openpype/hosts/houdini/plugins/create/create_hda.py @@ -45,19 +45,14 @@ class CreateHDA(plugin.Creator): if (self.options or {}).get("useSelection") and self.nodes: # if we have `use selection` enabled and we have some # selected nodes ... - to_hda = self.nodes[0] - if len(self.nodes) > 1: - # if there is more then one node, create subnet first - subnet = out.createNode( - "subnet", node_name="{}_subnet".format(self.name)) - to_hda = subnet - else: - # in case of no selection, just create subnet node - subnet = out.createNode( - "subnet", node_name="{}_subnet".format(self.name)) + subnet = out.collapseIntoSubnet( + self.nodes, + subnet_name="{}_subnet".format(self.name)) subnet.moveToGoodPosition() to_hda = subnet - + else: + to_hda = out.createNode( + "subnet", node_name="{}_subnet".format(self.name)) if not to_hda.type().definition(): # if node type has not its definition, it is not user # created hda. We test if hda can be created from the node. @@ -69,13 +64,12 @@ class CreateHDA(plugin.Creator): name=subset_name, hda_file_name="$HIP/{}.hda".format(subset_name) ) - hou.moveNodesTo(self.nodes, hda_node) hda_node.layoutChildren() + elif self._check_existing(subset_name): + raise plugin.OpenPypeCreatorError( + ("subset {} is already published with different HDA" + "definition.").format(subset_name)) else: - if self._check_existing(subset_name): - raise plugin.OpenPypeCreatorError( - ("subset {} is already published with different HDA" - "definition.").format(subset_name)) hda_node = to_hda hda_node.setName(subset_name) diff --git a/repos/avalon-core b/repos/avalon-core index 4f10fb1255..ffe9e910f1 160000 --- a/repos/avalon-core +++ b/repos/avalon-core @@ -1 +1 @@ -Subproject commit 4f10fb1255beb156f23afa1bb8362dfc53d0c6f8 +Subproject commit ffe9e910f1f382e222d457d8e4a8426c41ed43ae diff --git a/repos/avalon-unreal-integration b/repos/avalon-unreal-integration index 8529332aed..43f6ea9439 160000 --- a/repos/avalon-unreal-integration +++ b/repos/avalon-unreal-integration @@ -1 +1 @@ -Subproject commit 8529332aeddddc0bfccc7b1455ce0fa0aa571da9 +Subproject commit 43f6ea943980b29c02a170942b566ae11f2b7080