Mujoco | Unity | NetMQ |
---|---|---|
![]() |
![]() |
Use this Unity Hub Installer to install Unity Hub.
Install Unity Hub by following this guide.
First, clone the repository and initialize the submodule (This assumes you already have git
and ssh
setup).
git clone git@github.com:Simsreal/simulator.git
cd simulator
git submodule update --init --recursive
In Unity Hub, go to Projects
. Click Add -> Add project from disk.
, select the path to the cloned simulator
folder.
-
Double click on the added
simulator
in Unity Hub to open the project. -
On first opening the project, Unity may prompt you to enter Safe Mode due to missing NuGet packages. Ignore the prompt to let NuGet resolve and install the packages.
Navigate to Assets/Scenes/
in the Unity Editor, open the simsrealunity.
- Open a scene, click the Play button in Unity.
- Download the
mujoco-3.2.7-windows-x86_64.zip
from here - Create a folder named
MuJoCo
at your user directory, i.e.C:\Users\<username>\
- Unzip the file at
C:\Users\<username>\MuJoCo\
After the installation, click Assets -> Reimport All
to reimport all the assets.
- Check if
collider
has been added to Unity Asset - If not, add
collider
to Unity Asset - Right-click on the Unity Asset and select
Add a matching MuJoCo geom
-
Please check the network configuration in
zmq_config.json
and ensure that the IP addresses are correct. The pub address should be local address or any address (0.0.0.0), the sub address should be simsreal's address.zmq_config.json
can be found under the persistent data path. The company name isSimsreal
and the product name issimulator
. -
Verify your firewall configuration to allow the following connections:
- Ports: 5556, 5557, or any ports you specified in
zmq_config.json
; - Programs: Python, Unity, Unity Editor.
- Ports: 5556, 5557, or any ports you specified in
If you're using WSL2 with NAT to run Simsreal, ensure that inbound connections from WSL are allowed. By default, Windows firewall blocks all inbound connections from WSL.
- Press
WIN + X
, then pressA
to open a terminal with administrator privileges. - Check the network interface name of WSL using the following command:
Typically, the interface name will be
Get-NetAdapter | Where-Object Name -like "*WSL*" | Select-Object Name
vEthernet (WSL)
orvEthernet (WSL (Hyper-V firewall))
. - Use the following PowerShell command to allow all inbound connections from WSL:
Note: Replace
New-NetFirewallRule -Name WSLAllowAllInbound ` -DisplayName "Allow WSL Inbound" ` -Direction Inbound ` -InterfaceAlias "vEthernet (WSL)" ` -Action Allow
"vEthernet (WSL)"
with the actual adapter name you found in the previous step.