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

socket_manager.webp

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

center_camera.webp

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

find_bp_master.webp

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

create_blueprint_child_actor.webp

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

change_static_mesh.webp

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

world_actor.webp


Add Map

Locate the datatable called D_Maps
Content > CompletePropHunt> Datatables

datatables.webp

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

new_map_row.webp

Fill in each field to match your map's details

map_row.webp

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

import_audio.webp

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

change_sound_class.webp

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

sound_cues.webp

Open SC_RandomMusic and click on empty spot and new wave player

wave_player.webp

Click the newly created wave player and select your music

select_audio.webp

After selecting the music, connect the nodes together

connected_audio.webp

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

input_actions.webp

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

create_input_action.webp

Rename the input action to AI_Test and leave all options as default

Open the InputActionsMappingContexts folder
Content > CompletePropHunt > Input > InputActionsMappingContexts

mapping_contexts.webp

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

add_mappings.webp

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

mappings_settings.webp

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

player_controller.webp


Steam Integration

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

config_file_path.webp

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

plugins_folder.webp

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

plugins_in_folder.webp


Testing Steam

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

plugins_enabled.webp

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

standalone_game.webp


Steam Sessions

Ensure that Advanced Sessions is installed first

Locate the game instance BP_GameInstance
Content > CompletePropHunt > Blueprints > GameInstance

gameinstance.webp

Locate the custom event Create Match

create_matches.webp

Replace the Create Session node with the Create Advanced Session node

create_advanced_sessions.webp

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

matches_widget.webp

Locate the Find Sessions blueprint node

find_session.webp

Replace Find Sessions with Find Sessions Advanced and reconnect the lines

find_advanced_sessions.webp


Character Colors

Locate the datatable D_Colors
Content > CompletePropHunt > Datatables

datatables.webp

Add a new row to the datatable

new_character_color.webp

Enter a name for the row and specify the color

color_details.webp

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

color_added_menu.webp