UE4-Plugin-SideBySide

If you have a blueprint project continue with step 1. If you have a Cpp project, continue with step 5.

Convert BP to C++ project

  1. Open your Blueprint project in UE4
  2. File > New C++ Class > Add empty class
  3. Visual Studio should open. You now have a BP/C++ Project.
  4. Close Unreal Editor

Downloading the plugin

  1. If you don't have one, create a folder called "Plugin" in your project directory (where your content folder is located). If you have one, go to step 10.
  2. Checkout the project (or download the release) and copy the plugin to this folder
  3. Right-click on your *.uproject file and generate Visual Studio Project files.

Integrate the plugin into Visual Studio

  1. Open Visual Studio
  2. Confirm that there is no plugin folder.
  3. Go to your uproject file
  4. Right-click -> Generate Visual Studio Project Files
  5. Reload solution in Visual Studio
  6. Confirm that there is a plugin folder.

Adding and building all modules

  1. Open the file [projectname].Build.cs (not the one in the plugin folder.)
  2. Add the line "SideBySidePlugin" to the private modules or add the line: PrivateDependencyModuleNames.AddRange(new string[] { "SideBySidePlugin" });
  3. Save
  4. Rebuild your project/game
  5. Start your project in Visual Studio via "Launch via Local Debugger".
  6. If you get asked to build some modules, do it.
  7. Close Unreal Editor.
  8. You can now open the game via the Launcher or the uproject file.

Enabling the plugin

  1. In the file DefaultEngine.ini in the Config folder of your project, look for the heading: "[/Script/Engine.Engine]"
  2. In this section, add "GameEngine=/Script/SideBySidePlugin.StereoRendering.CustomGameEngine" (without quotes)
  3. You might need to set the CharacterCamera of the Side-By-Side actor in your Level blueprint to the camera of your Pawn.
  4. Don't forget to enable the input for the Side-By-Side_BP :)

When you start your app next time in Standalone Mode, it should be side-by-side. Packaging your game should work as well.

Input controls:

Restart after updating DefaultInput.ini!

+ActionMappings=(ActionName="EyeOffset",Key=One,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="ProjectionOffset",Key=Two,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="Reset",Key=Three,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="Show Debug Messages",Key=Four,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="Default 1",Key=Five,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="Default 2",Key=Six,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="IncFOV",Key=Hyphen,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="DecFOV",Key=+,bShift=False,bCtrl=False,bAlt=True,bCmd=False) +ActionMappings=(ActionName="Toggle Stereo",Key=Seven,bShift=False,bCtrl=False,bAlt=True,bCmd=False)

Works with:

28.11.2017: Tested on 4.18.1 with FirstPerson Blueprint template. 24.01.2018: Tested on 4.18.3