Skip to content

CYENS/virtual-share-space

Repository files navigation

Unreal Engine 5.3 - PixelStreaming / Multiplayer / Open World Template

Open world Template https://github.com/make-live/multiplayer.git

Pixel Streaming Infrastructure https://github.com/EpicGames/PixelStreamingInfrastructure.git

How to run

  1. Start the Matchmaker Server:

    • Run RunMatchmakerServer.bat to initialize the matchmaker server.
      (located in PixelStreamingInfrastructure-UE5.2/PixelStreamingInfrastructure-UE5.2)
  2. Launch the Servers:

    • Execute RunServer - Port 88.bat and RunServer - Port 89.bat to start the servers on ports 88 and 89 respectively.
      (located in PixelStreamingInfrastructure-UE5.2/PixelStreamingInfrastructure-UE5.2)
  3. Open UE project:

    • Navigate to the Project folder in the project directory.
    • Open MakeLiveMultiplayer.uproject.
  4. Run as Standalone

  5. Accessing the Application:

    • Open a web browser.
    • For local testing, enter 127.0.0.1:88 in one tab and 127.0.0.1:89 in another tab.
    • For external access, replace 127.0.0.1 with your PC's IP address (e.g., 192.168.x.x:88 and 192.168.x.x:89).

Exporting the Project

If you make changes to the project and want to export it again, follow these steps:

  1. Package the project and create shortcut of the executable two times and rename it MakeLiveMultiplayer.exe - 1 and MakeLiveMultiplayer.exe – 2.

  2. Right-click on each executable, select 'Properties', and append the following in the target tab:

    For MakeLiveMultiplayer.exe - 1:

    -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888
    

    For MakeLiveMultiplayer.exe - 2:

    -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8891
    

Virtual Share Space

Currently, the project is working in Standalone Game in UE 5.3.

Requeriments for opening the project

We are using the Auto Setup Plugin from Reallusion in order to import properly the CC4 Avatars.

For each computer:

  • Download the Auto Setup for Unreal Engine here: https://www.reallusion.com/auto-setup/unreal-engine/download.html
  • Run the executable. It installs the Auto Setup folder in C:\Program Files\Reallusion\Shared Plugins by default.
  • Inside Setup\Unreal\Auto Setup 1.33 For Unreal 5.3 folder, copy Content and Plugin folders.
  • Paste the folders into the project.

Enable Multiplayer Session Plugin & Chat System Plugin

The first time you pull the repository setup the multiplayer submodule with the following commands:

  • Go to root of project
  • Run git submodule sync
  • Run git submodule update --init --recursive

Using DevAuthTool for faster development

The DevAuthTool allows for faster development when using the EOS networking. It allows skipping the authentication step everytime you run the application by authenticating only once during the setup of the DevAuthTool.

Donload and Run DevAuthTool:

  1. Login to https://dev.epicgames.com/portal/en-US/
  2. Select Organisation
  3. In the Dashboard click the SDK & Release Notes button
  4. For sdk type select C# SDK and for version the latest
  5. Download & Unzip
  6. In the unzipped folder go to SDK/Tools/ and unzip EOS_DevAuthTool-win32-x64-1.2.1.zip
  7. Run EOS_DevAuthTool.exe in the unzipped folder

Setup Accounts:

  1. Run EOS_DevAuthTool.exe
  2. Select a port (i.e 9305)
  3. Login to an Epic Account ( go through the login process )
  4. Enter a name, it will be used in the command line to avoid going throug the login process
  5. Setup as many accounts as you want, each with a different name

Add command line arguments to the builds/standalone to avoid going through the Epic login: // For build:

  1. Create shortcut of the executeable
  2. Open the shortcut properties.
  3. Add the following command line arguments: -AUTH_TYPE="developer" -AUTH_LOGIN="localhost:" -AUTH_PASSWORD=""

For standalone:

  1. Open Editor Preferences -> Level Editor - Play -> Play in Standalone Game
  2. Set Additional Launch Params to: -AUTH_TYPE="developer" -AUTH_LOGIN="localhost:" -AUTH_PASSWORD=""

After these steps, whenever you play the game for development the login will be automatic, no need to go through the Epic Login process everytime.

πŸ•΄οΈ Use Your Own Avatars with Noitom (Neuron Live Link Replication)


1. Create the Server Animation Blueprint

Create a new Animation Blueprint (e.g., NewNeuronAnimBP).

Inside NewNeuronAnimBP:

Step 2: Cache the Pose in the AnimGraph

Example 1:
Cached pose setup 1

Example 2 (also valid):
Cached pose setup 2

βœ… The most important part is caching the pose β€” exact setup can vary depending on your pipeline.


Step 3: Create a Pose Snapshot Variable

In the Event Graph:

  • Create a variable named SavedPose of type Pose Snapshot.
  • Compile the Blueprint.
  • Select SavedPose β†’ In the Details panel:
    • Set Default Value β†’ SavedPose β†’ Snapshot Name = NetPose
Pose snapshot setup

2. Create the Client Animation Blueprint

Create another Animation Blueprint (e.g., NewNeuronClientAnimBP).

Inside NewNeuronClientAnimBP:

Step 5: Use Pose Snapshot in AnimGraph

  • Add a Pose Snapshot node.
  • In the Details panel:
    • Set Snapshot Name = NetPose
Client pose snapshot

3. Configure the Neuron Actor Blueprint

Inside NeuronActorBlueprint:

Step 6–7: Set Pose Snapshot Variable

  • Select the PoseSnapshot variable.
  • In the Details panel:
    • Set Default Value β†’ Snapshot Name = SavedPose

4. Assign Skeletal Meshes and Animation BPs

Step 8: Server Skeletal Mesh

For SkeletalMesh_Server:

  • Animation BP β†’ NewNeuronAnimBP
  • Skeletal Mesh β†’ Your custom avatar
Server mesh setup

Step 9: Client Skeletal Mesh

For SkeletalMesh_Client:

  • Animation BP β†’ NewNeuronClientAnimBP
  • Skeletal Mesh β†’ Your custom avatar
Client mesh setup

5. Update Casting in Event Graph

Step 10: Replace Animation Blueprint Casting

  • Remove any Cast To NeuronAnimBlueprint.
  • Replace it with Cast To NewNeuronAnimBP.
Blueprint cast update

βœ… Final Step

Step 11: Save and Compile

  • Click Save, Compile, Save

About

Virtual Share Space

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •