Skip to content

Commit 8e22e76

Browse files
committed
doc: Update README.
1 parent ac0f862 commit 8e22e76

File tree

1 file changed

+32
-48
lines changed

1 file changed

+32
-48
lines changed

README.md

Lines changed: 32 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,27 @@
44

55
*Enables the Mission Pinball Framework to drive VPE*
66

7-
## Structure
7+
## Overview
88

9-
This project contains three folders:
9+
[MPF](https://missionpinball.org/latest/about/) is an open-source framework
10+
written in Python to drive real pinball machines. It has a "configuration over
11+
code" approach, meaning that 90% of what you'd do in a pinball game can be
12+
achieved through configuration (YAML files) rather than implementing it in code.
1013

11-
- `VisualPinball.Engine.Mpf` is a library which builds the gRPC protos and
12-
wraps them into a nicer interface.
13-
- `VisualPinball.Engine.Mpf.Test` is a command line tool that allows quick
14-
testing without running Unity
15-
- `VisualPinball.Engine.Mpf.Unity` is the Unity UPM package that plugs into
16-
VPE and implements the gamelogic engine.
17-
14+
When you read MPF's [Getting Started](https://missionpinball.org/latest/start/)
15+
page, you'll notice a banner stating that "MPF is not a simulator." Well,
16+
you've found the simulator. ;)
1817

19-
Currently, only the first two projects are contained in the provided VS
20-
solution. In the future we might add the Unity project with its dependencies,
21-
but for now you'll need to open it through Unity.
18+
This project lets you use MPF to drive game logic in [VPE](https://github.com/freezy/VisualPinball.Engine),
19+
a pinball simulator based on Unity. It does this by spawning a Python process running
20+
MPF and communicating with VPE through [gRPC](https://grpc.io/).
2221

23-
### Binaries
22+
### Installation
2423

25-
Both gRPC and Protobuf come with dependencies that conflict with Unity's, namely
26-
`System.Buffers`, `System.Memory` and `System.Runtime.CompilerServices`. To
27-
solve this, we disable assembly validation for `Google.Protobuf.dll` and `Grpc.Core.dll`
28-
via the plugin inspector.
29-
30-
### Unity Package
31-
32-
The goal of this repo is to use it within Unity. In order to do that, open the
33-
Package Manager in Unity, and add `org.visualpinball.engine.missionpinball` under
34-
*Add package from git URL*.
24+
This project is available as a Unity package at `registry.visualpinball.org`.
25+
To install it, make sure the scoped registry is added in your Package Manager
26+
settings. Then open the Package Manager in Unity and add
27+
`org.visualpinball.engine.missionpinball` under *Install package by name*.
3528

3629
The Unity package is build and published to our registry on every merge to master.
3730

@@ -59,32 +52,23 @@ actual binaries, `.meta` files of uncompiled platforms are cleaned up by Unity.
5952
In order to not accidentally commit those files, we recommend to ignore them:
6053

6154
```bash
62-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/linux-x64/VisualPinball.Engine.Mpf.dll.meta
63-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/linux-x64/Google.Protobuf.dll.meta
64-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/linux-x64/Grpc.Core.Api.dll.meta
65-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/linux-x64/Grpc.Core.dll.meta
66-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/linux-x64/libgrpc_csharp_ext.so.meta
67-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/osx-x64/VisualPinball.Engine.Mpf.dll.meta
68-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/osx-x64/Google.Protobuf.dll.meta
69-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/osx-x64/Grpc.Core.Api.dll.meta
70-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/osx-x64/Grpc.Core.dll.meta
71-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/osx-x64/libgrpc_csharp_ext.dylib.meta
72-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x64/VisualPinball.Engine.Mpf.dll.meta
73-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x64/Google.Protobuf.dll.meta
74-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x64/Grpc.Core.Api.dll.meta
75-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x64/Grpc.Core.dll.meta
76-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x64/grpc_csharp_ext.dll.meta
77-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x86/VisualPinball.Engine.Mpf.dll.meta
78-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x86/Google.Protobuf.dll.meta
79-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x86/Grpc.Core.Api.dll.meta
80-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x86/Grpc.Core.dll.meta
81-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity/Plugins/win-x86/grpc_csharp_ext.dll.meta
82-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity\Plugins\linux-x64\System.Runtime.CompilerServices.Unsafe.dll.meta
83-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity\Plugins\osx-x64\System.Runtime.CompilerServices.Unsafe.dll.meta
84-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity\Plugins\win-x64\System.Runtime.CompilerServices.Unsafe.dll.meta
85-
git update-index --assume-unchanged VisualPinball.Engine.Mpf.Unity\Plugins\win-x86\System.Runtime.CompilerServices.Unsafe.dll.meta
55+
git update-index --assume-unchanged Plugins/Google.Protobuf.dll.meta
56+
git update-index --assume-unchanged Plugins/Grpc.Core.Api.dll.meta
57+
git update-index --assume-unchanged Plugins/Grpc.Net.Client.dll.meta
58+
git update-index --assume-unchanged Plugins/Grpc.Net.Common.dll.meta
59+
git update-index --assume-unchanged Plugins/Microsoft.Extensions.Logging.Abstractions.dll.meta
60+
git update-index --assume-unchanged Plugins/System.Buffers.dll.meta
61+
git update-index --assume-unchanged Plugins/System.Diagnostics.DiagnosticSource.dll.meta
62+
git update-index --assume-unchanged Plugins/System.IO.Pipelines.dll.meta
63+
git update-index --assume-unchanged Plugins/System.Memory.dll.meta
64+
git update-index --assume-unchanged Plugins/System.Numerics.Vectors.dll.meta
65+
git update-index --assume-unchanged Plugins/System.Runtime.CompilerServices.Unsafe.dll.meta
66+
git update-index --assume-unchanged Plugins/System.Threading.Tasks.Extensions.dll.meta
67+
git update-index --assume-unchanged Plugins/VisualPinball.Engine.Mpf.deps.json.meta
68+
git update-index --assume-unchanged Plugins/VisualPinball.Engine.Mpf.dll.meta
69+
git update-index --assume-unchanged Plugins/VisualPinball.Engine.Mpf.pdb.meta
8670
```
8771

8872
## License
8973

90-
[MIT](LICENSE)
74+
[MIT](LICENSE)

0 commit comments

Comments
 (0)