Unreal Engine Multiplayer vs Pixel Streaming
If you’ve spent any time in Unreal Engine forums, Discord servers, or YouTube comment sections, you’ve probably run into a persistent myth: you need pixel streaming to build a multiplayer game. It’s an easy mistake to make, both terms involve “streaming” your game to players over a network, and both show up in the same conversations about cloud gaming and remote play. But they solve two completely different problems, and conflating them can send developers down an expensive, overcomplicated path when a simple dedicated server would do the job. This guide walks through exactly how to set up a working multiplayer game in Unreal Engine 5, from project creation to packaging a dedicated server build to hosting it in the cloud, without touching pixel streaming at all.
Fakhrul IslamSeptember 11, 2026
6 min read
Pixel Streaming vs. Multiplayer: What’s the Actual Difference?
Before diving into the setup, it’s worth being precise about what each technology actually does.
- Multiplayer networking is a core Unreal Engine feature that lets multiple players connect to a shared game server and interact in the same session. Each player runs the actual game executable on their own machine (or console), and the engine’s replication system keeps everyone’s game state in sync.
- Pixel streaming is a cloud-rendering technology. Instead of running the game locally, the engine renders every frame on a remote server (or cloud GPU instance) and streams the video output, like a live video feed, to the player’s browser or device. The player’s device never actually runs Unreal Engine; it just displays a video stream and sends back input.
In short: multiplayer is about players connecting to each other. Pixel streaming is about moving where the rendering happens. You can absolutely have multiplayer without pixel streaming, and you can technically combine both if you have a specific reason to.
When You Actually Need Pixel Streaming
To be fair to the technology, pixel streaming does solve real problems, just not the ones most developers assume. It’s worth considering only in these two scenarios:
- You need players to access your game directly from a mobile browser or a device that can’t run your executable. Since you can’t run a native Windows build on a phone, streaming the rendered video is a practical workaround.
- Your audience doesn’t have gaming-grade hardware. If a meaningful share of your players lack a dedicated GPU, offloading rendering to the cloud lets them play a graphically demanding game on basically any device.
Outside of those two cases, standard desktop multiplayer needs nothing more than a dedicated server setup, which is exactly what we’re building below.
Step-by-Step: Building a Multiplayer Game Without Pixel Streaming
1. Create Your Project
Start a new project in Unreal Engine 5 using the Third Person template. This gives you a ready-made character and map to test multiplayer connectivity quickly.
2. Install a Multiplayer Networking Plugin
Rather than building server discovery and connection logic from scratch, this setup uses the Multiplayer Server Scaling System plugin (available on Fab). The main advantage: by default, joining a multiplayer session requires manually entering an IP address and port number, a clunky experience for players. This plugin adds automatic server joining, so players can launch the game and connect without typing anything in.
3. Add a Dedicated Server Target
Unreal Engine builds a server executable separately from the client/editor build. To enable this:
- Navigate to your project’s Source folder.
- Copy the existing Target.cs file and create a new copy for the server target.
- Open it and replace every instance of Editor with Server.
- Save and close.
This creates a lightweight target configuration that Unreal Engine will use to compile a dedicated server build, one that runs game logic without rendering graphics, which is exactly what you want for hosting
Common pitfall: If the “Development Server” build configuration doesn’t appear in Visual Studio after generating project files, doublecheck that your new target file is named correctly to match your server target class. A mismatched filename is the most frequent reason this configuration fails to show up.
4. Create Your Project
- Right-click your .uproject file and select Generate Visual Studio project files
- Open the solution and select the Development Server configuration, then build.
- Once that succeeds, switch to Development Editor and build again so you still have a working editor build to configure your level.
5. Configure Your Maps and Modes
In Project Settings → Maps & Modes, set both:
- Editor Startup Map
- Game Default Map
to your Third Person map. Skipping this step is a common reason developers end up staring at an empty level when the game launches.
6. Configure the Multiplayer Plugin
Inside the Content Drawer, locate the plugin’s sample content folder and open the Multiplayer sample blueprint. In the Details panel, find the sample actor component and enter your API key (obtained from the developer section of your streaming/hosting provider’s dashboard — in this walkthrough, Eagle3D Streaming). This is also where you set your server app name, which must exactly match the executable name you’ll use when packaging your dedicated server build later.
Drag this blueprint into your level, then compile and save.
7. Package the Client and Server Builds
Using Unreal Engine’s packaging tools:
- Package a standard Windows client build for players
- Package a separate dedicated server build, using the same app/executable name you configured in step 6.
It’s worth packaging both into a clean, empty folder to avoid conflicts with previous builds.
8. Host the Dedicated Server
Rather than managing your own server infrastructure, this setup uploads the packaged server build to a cloud hosting panel (Eagle3D Streaming’s multiplayer server app section). The key requirement: the uploaded executable name must exactly match the app name configured inside the plugin — this is what allows the automatic-join feature to actually locate and connect to the right server instance.
9. Test It
Launch two instances of your packaged client build locally. If everything is configured correctly, both instances should connect to the same hosted server and appear together in the same game session, no manual IP entry required.
For more details on the plugin configuration, API setup, and hosting steps covered in this guide, check out the official documentation: docs.eagle3dstreaming.com/wiki/multiplayer-pixel-streaming
Why This Matters
This entire workflow, project setup, dedicated server build, cloud hosting, automatic client connection, never touches pixel streaming. Every player runs the actual game client on their own machine; the only “cloud” component is the dedicated server coordinating the session, which is standard practice for any online multiplayer game, from indie projects to AAA titles.
Pixel streaming remains a powerful tool, but it solves a different problem: rendering location, not player connectivity. Reaching for it by default, when a lightweight dedicated server plugin would do, adds unnecessary cost and complexity.
Frequently Asked Questions
Do I need pixel streaming to make an Unreal Engine multiplayer game?
No. Multiplayer relies on Unreal Engine’s built-in networking and replication system paired with a dedicated server. Pixel streaming is unrelated to player connectivity, it’s a cloudrendering technology.
What’s the benefit of using a multiplayer server scaling plugin instead of manual IP connection?
It removes the need for players to manually type in an IP address and port number, replacing it with automatic server discovery and joining, a much smoother player experience.
When should I actually use pixel streaming with Unreal Engine?
Primarily when you need players to access your game from a mobile browser or low-power device that can’t run the native executable, or when your audience lacks dedicated gaming hardware and you want to offload rendering to the cloud.
What’s the most common mistake when setting up a dedicated server build?
Forgetting to rename the server target file correctly, which causes the “Development Server” configuration to not appear in Visual Studio, and mismatching the executable name between the plugin configuration and the packaged server build.

