Add Prop
Import your new mesh into the project
Open your new mesh and add a new socket called
Camera Socket Manager can be found in the top right corner of the window

Place your new Camera socket as close to the center of the mesh as possible

Locate the prop called BP_Master
Content > CompletePropHunt > Blueprints > Items

Right-click and select Create Child Blueprint Class to create a new child blueprint

Locate the Details panel on the right side and change the static mesh

You can now drag and drop your newly created blueprint into the map

Add Map
Locate the datatable called D_Maps
Content > CompletePropHunt> Datatables

Add a new row to the list by pressing Add in the top bar

Fill in each field to match your map's details

Name will be shown in the lobby and on the match settings widget
Texture will also be shown in the lobby and on the match settings widget
ServerTravel is the name of your level in the content browser
Description will appear under the level name if filled
Display? will determine if the match can be selected by the host
Save the file, and your map will be automatically added to the match settings
Add Music
Import your music file into the project

Open your new audio file
Find the category called Sound and change the class to Music

Find the sound cue called SC_RandomMusic
Content > CompletePropHunt > Sounds > SoundCues

Open SC_RandomMusic and click on empty spot and new wave player

Click the newly created wave player and select your music

After selecting the music, connect the nodes together

You can always add more randomized music by adding new inputs to the random node
New Enhanced Input
Open the InputActions folder
Content > PropHuntLite > Input > InputActions

Create a new Action Input by right-clicking in an empty area of the content browser

Rename the input action to AI_Test and leave all options as default
Open the InputActionsMappingContexts folder
Content > CompletePropHunt > Input > InputActionsMappingContexts

Add your new keybind to IMC_Actions by clicking the icon next to the Mappings text to add a new input

Player Mappable will determine if players can rebind the key
Name is for the engine only
Display name is the text shown in the keybinds

You can place your new keybind in your character or inside the player controller

Steam Integration
Locate your project's DefaultEngine.ini file
By default, your file path should look something like this

Copy and paste these lines into your DefaultEngine.ini
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
; If using Sessions
; bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
Installing Advanced Sessions
Download the Advanced Sessions plugin from vreue4.com - Advanced Sessions Library
Create a new folder called Plugins in your project folder

Drag and drop both files you just downloaded into the Plugins folder

Testing Steam
Open your project and verify that the plugins have been successfully installed

Launch the game as a Standalone Game to test if Steam works correctly

Steam Sessions
Ensure that Advanced Sessions is installed first
Locate the game instance BP_GameInstance
Content > CompletePropHunt > Blueprints > GameInstance

Locate the custom event Create Match

Replace the Create Session node with the Create Advanced Session node

Reconnect all the lines to the new blueprint node
Find Steam Sessions
Ensure that Advanced Sessions is installed first
Locate the widget WBP_Matches
Content > CompletePropHunt > Widgets > WBP_Matches

Locate the Find Sessions blueprint node

Replace Find Sessions with Find Sessions Advanced and reconnect the lines

Character Colors
Locate the datatable D_Colors
Content > CompletePropHunt > Datatables

Add a new row to the datatable

Enter a name for the row and specify the color

After saving the file, the color will be automatically added to the widget
