public static void BuildStartupPackage() { var weaponAnims = MEPackageHandler.OpenMEPackage(@"C:\Users\mgame\source\repos\ME2Randomizer\ME2Randomizer\staticfiles\binary\WeaponAnims.pcc"); var existingSUF = MEPackageHandler.OpenMEPackage(@"B:\SteamLibrary\steamapps\common\Mass Effect 2\BioGame\DLC\DLC_PRE_General\CookedPC\Startup_PRE_General_int.pcc"); var startupFile = @"C:\Users\mgame\source\repos\ME2Randomizer\ME2Randomizer\staticfiles\binary\Startup_DLC_MOD_ME2Randomizer_INT.pcc"; MEPackageHandler.CreateAndSavePackage(startupFile, MERFileSystem.Game); var startupPackage = MEPackageHandler.OpenMEPackage(startupFile); var objReferencer = existingSUF.FindExport("ObjectReferencer_0"); objReferencer.WriteProperty(new ArrayProperty <ObjectProperty>("ReferencedObjects")); // prevent porting other stuff var sObjRefencer = EntryImporter.ImportExport(startupPackage, objReferencer, 0, true); EntryImporter.ImportAndRelinkEntries(EntryImporter.PortingOption.CloneAllDependencies, weaponAnims.FindExport("WeaponAnimData"), startupPackage, null, true, out _); var referencedObjects = new ArrayProperty <ObjectProperty>("ReferencedObjects"); referencedObjects.AddRange(startupPackage.Exports.Where(x => x.ClassName == "AnimSet").Select(x => new ObjectProperty(x.UIndex))); sObjRefencer.WriteProperty(referencedObjects); startupPackage.Save(compress: true); Debug.WriteLine("Done"); }