Skip to content

create_uasset

CreateUAsset

Bases: UnrealAssetCreator

Create UAsset.

Source code in client/ayon_unreal/plugins/create/create_uasset.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class CreateUAsset(UnrealAssetCreator):
    """Create UAsset."""

    identifier = "io.ayon.creators.unreal.uasset"
    label = "UAsset"
    product_type = "uasset"
    icon = "cube"

    extension = ".uasset"

    def create(self, product_name, instance_data, pre_create_data):
        if pre_create_data.get("use_selection"):
            ar = unreal.AssetRegistryHelpers.get_asset_registry()

            sel_objects = unreal.EditorUtilityLibrary.get_selected_assets()
            selection = [a.get_path_name() for a in sel_objects]

            if len(selection) != 1:
                raise CreatorError("Please select only one object.")

            obj = selection[0]

            asset = ar.get_asset_by_object_path(obj).get_asset()
            sys_path = unreal.SystemLibrary.get_system_path(asset)

            if not sys_path:
                raise CreatorError(
                    f"{Path(obj).name} is not on the disk. Likely it needs to"
                    "be saved first.")

            if Path(sys_path).suffix != self.extension:
                raise CreatorError(
                    f"{Path(sys_path).name} is not a {self.label}.")

        super(CreateUAsset, self).create(
            product_name,
            instance_data,
            pre_create_data)

CreateUMap

Bases: CreateUAsset

Create Level.

Source code in client/ayon_unreal/plugins/create/create_uasset.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class CreateUMap(CreateUAsset):
    """Create Level."""

    identifier = "io.ayon.creators.unreal.umap"
    label = "Level"
    product_type = "uasset"
    extension = ".umap"

    def create(self, product_name, instance_data, pre_create_data):
        instance_data["families"] = ["umap"]

        super(CreateUMap, self).create(
            product_name,
            instance_data,
            pre_create_data)