UE1ToUnity
by Yrex, 2020

A Unity extension that imports Unreal Engine 1 levels.

Tested to work on:
- Unity 5.2.5f1 32-bit (the last version that can build games for Windows XP)
- Unity 2020.1.0f1 (the latest version so far)

Usage:

- Move Microsoft.VisualBasic.dll and System.Deployment.dll to...
  in Unity 5.2.5f1: Unity\Editor\Data\Mono\lib\mono\2.0\
  in Unity 2020.1.0f1: UE1ToUnity\

- Copy the Scripts folder to the Assets folder in your project.

- If you have Unity 5.2.5f1, in MonoDevelop add a reference to UPLib.dll, Microsoft.VisualBasic.dll and System.Deployment.dll.

- For each texture package required by the map, batchexport it to BMP, and copy the resulting folder to "Assets\Level textures\".

- Do the same for ambient sounds, but copy them to "Assets\Level sounds\".

- Add an empty GameObject at (0,0,0).

- Add script UnLevel to it.

- If you care about the skybox: Add somewhere a Camera named Skybox Camera and remove its Audio Listener. Set up both cameras so the skybox one gets drawn below. You'll have to script its rotation yourself.

- Make sure your map was saved under a more recent engine version (e.g. 227) -- older versions use a different format.

- Before importing the map, read the section below.

- If lightmaps don't work, try building them again.

- Before building the game, make sure the new DLLs DONT'T get included -- this causes problems and you only need them in the editor, not the game anyway. In Project window, select all DLL files, in Inspector uncheck "Any Platform" and check "Editor". 

Avoiding data loss:

- (Re)importing a map may freeze Unity (not sure if forever, or just for a VERY long time), so always save before doing it. To avoid this, try decreasing "Lightmap seams fix", and if that doesn't help, disable "Generate lightmap UVs".

- Any changes you apply to objects that result from importing will be reverted and their children (excluding ZoneInfos's children) will be deleted once you reload a map. Also, references to them will be probably lost. To prevent this, check "Detached". Don't do that to level geometry though.

- I haven't tested undo, prefabs and multiple selection.

I take no responsibility for any losses resulting from use of the software. Make backups.