Insprill / dv-multiplayer

A Derail Valley mod adding multiplayer to the game.
Apache License 2.0
33 stars 16 forks source link

[Error] AssemblyName is null #15

Closed Oklyne closed 11 months ago

Oklyne commented 11 months ago

When loading the mod (I followed the full procedure with Unity 2019 & the powershell script package.ps1 to build the mod), Unity Mod Manager generates the following error after reading the info.json file: AssembleName is null

.NET 7 installed Derail Valley build 95 Unity Mod Manager 0.27.5 (tried with version 0.27.3)

Summary of log file:

[Manager] Parsing mods. [Manager] Reading file 'D:\Games\Steam\DerailValley\Mods\Multiplayer\Info.json'. [Manager] Sorting mods. [Manager] Loading mods. [Multiplayer] Version '0.1.0'. Loading. [Multiplayer] [Error] AssemblyName is null. [Multiplayer] Loading time 0,00 s. [Manager] FINISH. SUCCESSFULLY LOADED 0/1 MODS.

Thanks for your help!

Oklyne commented 11 months ago

I rebuilt the Unity assets and rebuilt the Multiplayer project, and the Multiplayer.dll was generated correctly this time! I don't know where it went wrong...

Problem solved :)

HStrawberryDev commented 11 months ago

I'm currently experiencing the same issue and I haven't been generating a Multiplayer.dll, should I just redownload the repository?

Insprill commented 11 months ago

The mod's installation directory should have Humanizer.dll, LiteNetLib.dll, Multiplayer.dll, multiplayer.assetbundle, MultiplayerEditor.dll, UnityChan.dll, and info.json. If any of those are missing, delete the build and Multiplayer/bin folders, then build the asset bundle & scripts from the editor, wait for both builds to complete, then build the project again. The build process should install/update the mod for you, assuming all the files exist in the first place.

ampli-tude commented 11 months ago

I'm unable to generate Humanizer.dll and Multiplayer.dll. Following the steps I'm building the asset bundle and scripts and then running the package.ps1. I couldn't find Multiplayer/bin folder to delete before building at all so it doesn't seem to be generating. I do have the Directory.Build.targets in the directory pointing to my DV Installation direction and Unity 2019.4.40f1.

Let me know if I'm missing anything!

Oklyne commented 11 months ago

You need to open Multiplayer.sln with Visual Studio 2022 or Jetbrains Rider and publish the Multiplayer project.

You will have all your dlls afterwards ;)

ampli-tude commented 11 months ago

Ah, thank you. I did not realize there was another solution needed to be published.

HStrawberryDev commented 11 months ago

@Oklyne & @Insprill

The day I created the issue, I ended up building Multiplayer using Visual Studio Code as @Oklyne said, and I did get the .dlls

Thanks for helping out!