User:ZXCubed

From Pavlov VR Wiki
Jump to navigation Jump to search

Hi!! I'm cubed. I'm currently working on the Getting Started page.

You can learn more about me on my carrd!

Getting Started

Setting up the Project

NOTE: Unreal Engine 4.27 (Legacy PC Engine) will become obsolete in the future. It's best to use Unreal Engine 5.1.1 (Shack & PC Engine) instead.

To start making Pavlov Maps, you'll need to register an account for Epic Games and Mod.io (for UE5.1.1). For the Mod.io account, you'll need to verify your email (or else you can't make your maps!).

Epic Games Launcher:

https://store.epicgames.com/en-US/download

Mod.io:

https://mod.io/g/pavlov


You'll also need to install Epic Games Launcher (if you don't have it already). Next, open the Unreal Engine tab in the launcher and install the one you want to mod with (shown below).

Shack & PC Engine Legacy PC Engine
Unreal Engine 5.1.1 Unreal Engine 4.27.x


NOTE: When installing UE5.1.1, select the following to install along with UE5.1.1:

  • Starter Content
  • Engine Source
  • Android (needed for shack)
  • Linux

Lastly, you need to install the Pavlov VR modkit corresponding to your Engine Version (once on github click "code" then "download zip").


UE5.1.1 modkit:

https://github.com/vankruptgames/PavlovVR-ModKit/tree/5.1.1

UE4.27.x modkit:

https://github.com/vankruptgames/PavlovVR-ModKit

Extract the modkit, and open the project. When loading the project, the modkit will stay at 45% while it compiles shaders. Once it finishes compiling, click window, open Pavlov Workshop then log in to your Mod.io Account (UE5.1.1 only).

UE5.1.1 Login Steps:

  1. Enter Username and Password from Mod.io
  2. Open your Email and paste the code from the email to the Editor (request another if you need it).
  3. You're signed in!

To create a mod in UE5.1.1, you need to open the "Create Mod" tab and enter your map name and description. Logo image isn't required when making a map. Once putting in all of the information, press "Create Mod". This will create a UGCxxxxxxx folder, giving your mod a unique code (shown as the x's) that'll be used to figure out what map is currently being played in a server and if it'll need to be downloaded locally.

NOTE: ALL assets used in your map MUST be in your UGCxxxxxxx folder.

Creating your Map

To create your map, you need to enter your UGCxxxxxxx folder (easier to do this) and press CTRL+S (CMD+S on Mac). This saves your map (currently filled with nothing). You can add objects into your map using the "Place Actors" window. You should also add BP_Sky_Sphere (located in the Engine folder), a Directional Light (search for it in the "Place Actors" window), and a Sky Light (search for it in the "Place Actors" window) if you're on UE5.1.1.

In order for your map to function properly in Pavlov, you need to link your map to the "definition" file in your UGCxxxxxxx folder. In the definition file, you're able to see:

Definition File Contents
Name Description Example
Unique Id (do not change) Published id if this is a workshop map, otherwise user-generated. UGC1234567
Label User friendly label, ie "My Map". My Map
Version Version # for this mod/map. 2
Thumbnail Thumbnail 512x512. ChickenTrans.png
Map The actual umap (level) to load. MyMap (level)
Quest Map Quest Map. MyMapShack (level)
Hidden Should this map be shown in the map combo boxes? Unchecked
Compatibility This is a filter for the map browser by game mode. Custom | Deathmatch | Team Deathmatch
Custom Game Mode Forces the server to load a bare bone game mode, everything else should be implemented by the GameLogic. Checked
Custom Game Mode Label For display purposes only in the server browser. MyGameMode


You should change your "Label" to the name you want your map to have. Version should only be changed if you made changes to an already existing map you've made.

Link your Map or Quest Map to the level you saved earlier which should be called "NewMap" if you haven't changed the name yet. Compatibility should be changed later on (depending on how you make your map) but can be changed now if wanted.

Pavlov Game Logic


Before publishing your map, in order for your map to work, you need to add a Pavlov Game Logic. You can find it by searching it up in the "Place Actors" window. Once placed in the map, change its settings under the Pavlov tab inside of the Game Logic. Set "Definition" to the definition file inside of your UGCxxxxxxx folder. You'll also need to set:

Global Info Class to Pavlov_GlobalInfo
Player Info Class to Pavlov_PlayerInfo
Player Proxy Class to Pavlov_PlayerProxy


You can set these to your own custom info or proxies but these are the ones you should set if you aren't customizing anything.

Spawns


In order to properly spawn in your map, you need Pavlov Spawns in your map (search for Pavlov_Spawn in "Place Actors"). The settings to the Spawns are:

Spawnflags
TeamID -1 = Any Team

0 = Blue Team (Defenders)

1 = Red Team (Attackers)

Dynamic Tick this for Deathmatch.

This prevents spawning inside another person who occupies the spawn area

Only Team Use this Together with the TeamID parameter to only allow for a certain team to spawn.

Search & Destroy (S&D) spawns needs this. Uncheck for random Deathmatch spawns.

Special Tick this for marking the Spawn to be used for Search & Destroy gamemodes.

Use ONLY ONE spawn per Team. Teams will spawn together at one spawn.

Use together with TeamID.

When enabling Special, this allows 5-10 people to spawn from just one Pavlov_Spawn.

Migrate maps to Modkit


To migrate maps from Unreal Engine projects to the modkit, open the project with the map, select the level file. Right click the file and select migrate. A folder tree with all the referenced files of the map will show up. Press "OK." A file explorer will open after and you'll need to find the UGCxxxxxxx folder directory to import the map to the modkit. After, right click the Content root folder and select "Fix up re-directors". This will fix all the asset references.

Mandatory Entities

These entities are things that should be in your map before publishing to Mod.io or the Steam Workshop.

Lights


All lights must be set to Static as Pavlov doesn't support Stationary or Movable.

This includes the Directional Light and Sky Light. Spot Lights and Point Lights are the most commonly used in Pavlov maps. There is no limit to the amount of lights that can be inside of your map.

For a more realistic look and better clarity in VR set the "Indirect Lightning Intensity" on the Sky Light and Directional Light to a value between 2-6.

Reflection Captures


Reflection Captures are needed to have realistic reflections on all surfaces that are inside the reflection volume.

Sphere and Box Reflection Captures are used to get these realistic reflections. Reflection captures prevent your weapons from appearing black when playing.

You can them by searching for it in the "Place Actors" window.

Bomb Plants


Bomb Plants are needed for the SND game mode to function properly and at least one bomb site is needed to function.

You can have 2 bomb sites (A & B) but you can have as many bomb plants as you wish.


By default the Bombspots will be treated as bombspot "A". To change it, simply tick the checkbox "Is B".

The bomb will be placed at the root of the red arrow facing the direction of the arrow.

Leave some space between the wall and the arrow, otherwise the Bomb will clip into the wall. (About 5 Units)

KOTH


The blueprint actors can be found in the CustomMapTools Content folder -> Blueprints (please make sure "show plugin content" is enabled in your view options for your content browser

To place a KOTH point, drag BP_KOTHObjectiveProxy onto your map where you want hill points to show up, similar to placing CTF flag points.

If you want to edit the score to win or limited ammo, then you place a BP_KOTHSettingsProxy into the level and adjust the settings accordingly.

Materials & Physical Materials


Bot Navigation


In order for bots to walk around your map, a Nav Mesh Bounds Volume is needed for the bots to walk around your map. You can find it by searching for it in the "Place Actors" window.

The Nav Volume has to cover ALL of the walk-able space on your map.


If there are areas that don't connect to each other but are wide enough to fit a player, you can use a "Nav Link Proxy" to fill in those spaces. You can find it by searching for it in the "Place Actors" window.

Press "P" to see the nav bounds and the connection indicator.


NOTE: DO NOT change the details of the Nav Mesh Bounds Volume or else it won't work!

Blocking & Kill Volumes


Sometimes on a map, you'd want to use an "Invisible Wall" for blocking access to a certain area of the map. This can be done by using a Blocking Volume. You can find it by searching for it in the "Place Actors" window.


The Geometry Editing Tool can also be used on this volume to easily adjust it to your Level Geometry.

Use Blocking Volumes as a ramp over stairs to prevent the VR camera from aggressively hopping when walking up stairs.

You can also use them for smoothing out narrow and busy areas to prevent getting stuck and assure smooth gameplay.


Put a "Pavlov Kill Volume" about 1000 - 2000 units under your map, that is a bit bigger than your play space. This will kill players that somehow fell out of the map or glitched out of it.

You can also use the Kill Volumes for hazardous environments in that the Player should die when touching the Volume. (e.g. the front of a moving train or a pool of lava/deep water)

Ladders


Overcoming walk-able angle restrictions is possible by using Pavlov Ladder Volumes.

The player will only stick to player-collidable surfaces contained inside the Pavlov Ladder Volume.

Avoid overlapping Pavlov Ladder Volumes as this can cause the player to glitch between them.


The Volumes only come as rectangular prisms.

To match the shape of a surface that isn't rectangular/square, use many smaller Volumes without overlapping them.