Skip to main content

Asset Support for Mods

Overview

The main factor for supporting assets is dependency: only dependencies to the project's content are allowed, but not engine's dependency. When trying to package any asset that has engine dependency, it will fail.

Some assets have internal dependencies which can't be bypassed without modifying the engine's source code. For example, when trying to create a directional light or point light in the level, you'll have an EmptyActor dependency to the engine - packaging of that asset and consequently the whole mod will fail. Therefore, you should generally avoid using any engine's assets dependency (except for very basic ones, such as dependency to AActor class), and instead create your own classes in your project and implement the necessary functionality there, and allow the mod to use those classes instead of the engine's ones.

Supported Asset Types

Allowed Actors In Levels

These actors, including custom actors derived from them and saved in the project or mod, can be placed in levels without causing packaging issues in the mod:

  1. AStaticMeshActor
  2. APlayerStart
  3. APawn
    • ACharacter
    • ADefaultPawn
    • All other derived actors
  4. ABrush & AVolume
    • AKillZVolume
    • ABlockingVolume
    • AAudioVolume
    • ACullDistanceVolume
    • APostProcessVolume
    • All other derived actors
  5. ADecalActor
  6. AInfo
    • AVolumetricCloud
    • AExponentialHeightFog
    • Other supported derived actors
  7. ATriggerBase
    • ATriggerBox
    • ATriggerCapsule
    • ATriggerSphere
    • All other derived actors

Allowed Components in Actors

These components, including custom components derived from them and saved in the project or mod, can be placed in actors without causing packaging issues in the mod:

  1. USceneComponent
    • UPrimitiveComponent
      • UTextRenderComponent
      • UArrowComponent
      • UShapeComponent (collisions)
        • UBoxComponent
        • UCapsuleComponent
        • USphereComponent
      • UMeshComponent
        • UStaticMeshComponent
        • UWidgetComponent
        • All other derived components
    • UCameraComponent
    • UChildActorComponent
    • UText3DComponent
    • Other supported derived components
  2. UWidgetComponent
  3. UCameraComponent
  4. UDecalComponent
  5. UMovementComponent
    • UPawnMovementComponent
    • UCharacterMovementComponent
    • All other derived components
  • All other derived components

Unsupported Asset Types

Prohibited Actors in Levels

These actors, including custom actors derived from them and saved in the project or mod, should not be placed in levels as they will likely cause packaging issues in the mod:

  1. ALight
    • ADirectionalLight
    • APointLight
    • ARectLight
    • ASpotLight
  2. AInfo
    • ASkyLight
    • ASkyAtmosphere
    • Other unsupported derived actors
  3. ASkyAtmosphere
  4. ATextRenderActor
    • Other unsupported derived actors

Prohibited Components in Actors

These components, including custom components derived from them and saved in the project or mod, should not be placed in actors as they will likely cause packaging issues in the mod:

  1. USceneComponent
    • ULightComponentBase
      • UDirectionalLightComponent
      • ULightComponent
      • ULocalLightComponent
      • UPointLightComponent
      • URectLightComponent
      • USkyLightComponent
      • USpotLightComponent
    • USynthComponent
    • UAudioComponent
    • Other unsupported derived components

Asset Support in Packages (UPackage)

Generally, all possible asset types are supported to be included in the plugin after the packaging. The tested ones are listed below, but any other assets without dependency on the engine are supported as well, such as manually created ones in the mod itself:

  • Actor
  • Pawn
  • Character
  • Actor Component
  • Scene Component
  • Level
  • Material
  • Widget
  • Texture
  • Sound Wave
  • Static Mesh
  • Skeletal Mesh