Packaged Unreal Engine project Example
Last updated
Was this helpful?
Last updated
Was this helpful?
The Live FX/Unreal Engine workflow allows you to build your Unreal Engine Projects to a game, that can exist as an .exe file.
This means that if you plan ahead and package your project, your Unreal Project can work without Unreal Engine even installed on the host machine, complete with camera tracking, projection mapping, and Web Remote Control if you need it!
If you want to follow along with this example, you do not need to have Unreal Engine installed, just a Windows computer with Live FX already installed and set up.
Here is a complete video walkthrough:
Here is a demo exe file: https://www.dropbox.com/scl/fi/tfnwx5b8hkuy4cavxd4ku/WaterTower_v2.zip?rlkey=fshkrjb1sw8h2c5a8sjvoj4if&dl=0
Download the .zip folder above.
EXTRACT WITH A TOOL LIKE 7 ZIP! The default Windows tool sometimes gives an error when trying to unzip large files.
In the folder structure, you will find the project “BH_Project.exe”.
If you open this, it will launch a full-screen game, but for it to work properly we’ll have to create a shortcut and pass some command line arguments in.
Even if there is a shortcut provided, you will likely need to make your own shortcut for this to work properly.
Right-click on the BH_Project.exe, and go to Create shortcut.
I’ve renamed the shortcut to “OnScreen1920x1080”
Now right-click and go to properties on the shortcut.
If you are using projection mapping, you should use a resolution that is the same aspect of your camera and what you want to render, for example, if you want to project 1920x1080 you'd use: -ForceRes -ResX=1920 -ResY=1080 If you are NOT using projection mapping, you should enter the resolution of your LED wall, or your monitor, as you want. So if your wall is 2560x1320, you’d use: -ForceRes -ResX=2560 -ResY=1320 And you would likely want to change your timeline resolution to match this setting as well. Whatever frame rate you are shooting in, your timeline should match and you should set that in your console variables, for example if you are shooting in 59.94, you would use: -t.MaxFPS = 59.94
IF YOU ARE RENDERING OFFSCREEN, YOU WILL NOT SEE THE EXPERIENCE LAUNCH, PRESS CONTROL+ALT+DELETE TO SEE IT AND TO CLOSE IT.
Now open the shortcut, if rendering offscreen you will not see it, but Live FX will.
There are a few different ways we can set up a shot with Unreal in the background.
If using an LED Wall, skip to the next section, Projection Setup
If you are using a Green Screen workflow, go to the construct press the Live Setup button, and choose Green screen with Unreal background for the Model.
Under Unreal Capture, select Unreal Texture Share.
From the construct select Projection Setup, under Project Media, select Unreal Texture Share.
Then follow whatever projection mapping methods you normally use.
If you want to play the UE project on the wall, but not use the Projection mapping workflow, you can just click Live Setup, then Basic Capture, and under Foreground / Camera, choose Unreal Texture Share.
For this tutorial, I will use this last option, Basic Capture, but the next steps are the same, regardless of your setup.
Click on the Live FX menu, then click on the Live Links Menu.
Click on Unreal Live Link. Press On.
(Optional) Click Broadcast.
If using camera tracking, make sure your tracking is set up correctly and that you press “Apply” so that it applies to your camera.
If not using camera tracking, go to the Camera tab and press “Active”
You can manually move the camera in UE, by changing the Tracker / Animation values.
We can see from the screenshot below that we’ve set everything up correctly because we see the Watertower demo in the viewport (through the Unreal Texture Share layer), the Live Link has a frame counter, counting frames below the Scale in the Unreal Live Link window.
With the WaterTower demo working, and if you passed the -RCWebControlEnable -RCWebInterfaceEnable flags in the shortcut link before you launched it, you should now be able to control certain aspects of the Unreal Engine scene.
Open a browser and enter “localhost:30000”
You should see this window above and be able to control the time of day, and cloud coverage as well as many other parts of the Unreal Engine scene, in this example I changed the time to 1800 (6pm).
You can use the Unreal Engine Remote app with the packaged project, to use as a wireless monitor of just the Unreal scene. This can work with multiple devices, doesn't affect the performance of the host machine, and is NOT synced to the host machine.
Download the Unreal Remote 2 app.
Make sure the host computer and the iPhone are on the same wireless network.
On the iPad or iPhone, open the app and enter the ip address of the host computer. You can find the ip address on the host machine by opening command prompt and use the command ipconfig to see the ip address(es).
Paste these in the target field, after “...exe”, with one space after the end (with or without -RenderOffscreen, if you want to be able to see it or not). Text to copy and paste: -RenderOffscreen -ForceRes -ResX=1920 -ResY=1080 -RCWebControlEnable -RCWebInterfaceEnable -t.MaxFPS = 23.976 Should look like this:
Click Connect. IP can be 127.0.0.1 if using the local machine The Port should remain 9001. If you see numbers moving at the bottom, this is set up correctly. YOU MUST HAVE AN ACTIVE CAMERA IN YOUR SCENE, MORE ON THIS BELOW
In the Camera tab, the camera is active and if I pan, it moves the Unreal Engine camera. If you have camera tracking enabled, when you move the camera, it should move correctly. If you are not using projection mapping, you can click on Manual and use the Position to move the Unreal Engine camera around your scene.
If you are using projection mapping, you cannot use the Position to move the camera in the Unreal scene without affecting your projection mapping. You could use Web Remote instead to move your camera in your scene.