Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hughperkins/peaceful-pie
Control Unity from Python! Use for reinforcement learning.
https://github.com/hughperkins/peaceful-pie
python reinforcement-learning unity
Last synced: 12 days ago
JSON representation
Control Unity from Python! Use for reinforcement learning.
- Host: GitHub
- URL: https://github.com/hughperkins/peaceful-pie
- Owner: hughperkins
- License: mit
- Created: 2022-12-29T10:08:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-21T06:07:23.000Z (5 months ago)
- Last Synced: 2024-10-25T06:04:28.877Z (19 days ago)
- Topics: python, reinforcement-learning, unity
- Language: C#
- Homepage:
- Size: 3.16 MB
- Stars: 28
- Watchers: 6
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Peaceful Pie
Connect Python with Unity for reinforcement learning!
Video:
[![Control Unity from Python WITHOUT mlagents](http://img.youtube.com/vi/RW8S8DhA_DI/0.jpg)](https://youtu.be/RW8S8DhA_DI)
# CI
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/hughperkins/peaceful-pie/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/hughperkins/peaceful-pie/tree/main)
# Examples
- see [examples](examples)
# Installation
You need to install both into Unity project, and into your Python environment.
## In Unity
- In Unity, go to Window | Package Manager
- change the dropdown in top left to 'Packages: In Project'
- check that Newtonsoft Json appears
- if Newtonsoft Json is not already in your project:
- click on the '+' in the top left, and choose 'Add package by name...'
- put the name `com.unity.nuget.newtonsoft-json`, then click 'Add'
- In Unity, in your project's "Assets" folder, create a "Plugins" folder, if it doesn't already exist
- First install AustinHarris.JsonRPC:
- Download https://www.nuget.org/api/v2/package/AustinHarris.JsonRpc/1.2.3
- rename to have filename suffix be `.zip` (you might need to turn on options to see all file extensions)
- unzip the resulting zip file
- copy `lib/netstandard2.1/AustinHarris.JsonRpc.dll` into your `Plugins` folder
- select the file, in your Plugins, and in 'Inspector' unselect 'validate references', and click 'Apply'
- Click on 'Releases', on the right of the github page
- in the most recent release, download `PeacefulPie.dll`
- Copy `PeacefulPie.dll` into your Unity project's `Plugins` folder
- If on Mac silicon:
- in Unity, goto Plugins, click on `PeacefulPie.dll`
- in Inspector, change 'CPU' setting from 'Intel' to 'Any CPU', then click 'Apply'
- do the same for `AustinHarris.JsonRpc.dll`You should be good to go :)
## In Python
```
pip install -U peaceful-pie
```# Requirements
- currently tested with:
- python 3.10
- Unity 2021.3.16.f1
- support Python version: >=3.8.0, <4.0.0
- please create an issue if your preferred platform is not supported (I'm guessing I might need to downgrade Python a little? Let me know!)# Dev
I'm usng Visual Studio for Mac to write this.