Skip to content

Compile and Build Information

Jason Millard edited this page Aug 25, 2020 · 1 revision

Visual Pinball Engine is meant to be used as a Unity package.

After installing the Visual Pinball Engine package, Unity recursively searches all directories in the package for *.asmdef (Assembly Definition) files. Upon finding an *.asmdef file, it then recursively compiles all C# source code starting in the same directory and creates a managed dll. All managed dlls are copied to the Unity project's Library/Script/Assemblies folder:

➜  pwd
/Users/vpe/Desktop/vpe_project/Library/ScriptAssemblies
➜  ls -la | grep VisualPinball | grep dll
-rw-r--r--    1 vpe  staff   85504 Aug 25 07:38 VisualPinball.Engine.Test.dll
-rw-r--r--    1 vpe  staff  278528 Aug 25 07:38 VisualPinball.Engine.dll
-rw-r--r--    1 vpe  staff  131584 Aug 25 07:38 VisualPinball.Unity.Editor.dll
-rw-r--r--    1 vpe  staff   14336 Aug 25 07:38 VisualPinball.Unity.Patcher.dll
-rw-r--r--    1 vpe  staff    8704 Aug 25 07:38 VisualPinball.Unity.Test.dll
-rw-r--r--    1 vpe  staff  237568 Aug 25 07:38 VisualPinball.Unity.dll

In addition to *.asmdef files, Unity will look for other assets a too, such as *.dll files and native libraries (*.dylib, *.so).

It is important to note that certain folders are ignored when the package is added:

  • Folders which start with .
  • Folders which end with ~

Visual Pinball Engine leverages these naming strategies which will be documented below.

See https://docs.unity3d.com/Manual/SpecialFolders.html for more information

Clone this wiki locally