UDN
Search public documentation:

PortingALevel
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

Porting a Level from a Different Unreal Engine 3 Game

Document Summary: These are the steps that have been used in the past to port an entire level + assets from one game to another.

Document Changelog: Created by Brett Holcomb?.

Overview

Step by step instruction to take an entire level from one game and move it to another game with all of its referenced content. The process can be tedious, but worth it if the alternative is creating an identical level from scratch. Also, it should be noted that I'm assuming you're working with uncooked content.

First, open the orignal level you want to port in that level's editor and resave the level outside that game's directory structure. Now you can start the process of consolidating copies of all the assets used in the level to a new package (NewLevel_Resources). If the destination game already has a copy of a particular asset, open the package from the destination game and use that instead of creating a duplicate. As you copy each asset to the new package, replace all instances of that asset in the level with the copy. Every so often remember to save the level and package.

Once you've done this for each asset in the level, open the new level in the destination game's editor to make sure you haven't missed anything. To do this, save a copy of the ported level (with the new file extension) and NewLevel_Resources to the destination game's content directories. After several iterations and minor adjustments, your level will be fully ported to the destination game.

Detailed Instructions

The most common examples. These should give you a good idea of what to do for other assets that need to be ported as well.

Materials

  1. in the origin game's editor sync the Generic Browser to a material
  2. duplicate with references to NewLevel_Resources package
  3. select an instance of the old material in the level
  4. right-click > Select Surfaces > Matching Texture
  5. click duplicated material in NewLevel_Resources to set all

Static Meshes

  1. in the origin game's editor sync the Generic Browser to a static mesh
  2. duplicate with references to NewLevel_Resources package
  3. select an instance of old static mesh in the level
  4. right-click > Select Matching Static Meshes (This Class) to select all instances of the static mesh in the level
  5. open Properties (F4) > StaticMeshActor > StaticMeshComponent > StaticMeshComponent > Static Mesh > set to duplicated static mesh

Sometimes you can't duplicate with references because a referenced asset has already been duplicated into the new package. When this happens you have to duplicate the static mesh and all referenced materials and textures individually. Finally, edit the new static mesh to reference the duplicated materials then edit each duplicated material to reference the duplicated textures.

Particle Systems

Same process as Static Meshes

Sounds

Same process as above… remembering to duplicate Sound Cues w/ references from AmbientSounds in the level and from ‘Play Sound’ nodes in Kismet

Skeletal Meshes / Animations

Same process as above… remembering to also duplicate AnimSets used by SkeletalMeshes and to replace the reference in its properties with the duplicate

Light Functions

Replace SourceMaterial reference for lights with functions to the duplicated material