Published using Google Docs
Ultimate Rocket League Modding Guide
Updated automatically every 5 minutes

not so Ultimate Rocket League Modding Guide

I _ Basic mapping with UDK

II _ Advanced mapping

III _ ????

I _ Basic mapping with UDK

Keep in mind that this guide’s purpose is to teach how to use UDK to create maps for Rocket League, we will not showcase all UDK’s features. Rocket League mapping is still in its early stage and this guide is and will always be subject to updates.

1 _ Introduction

UDK (Unreal Development Kit) allows the creation of scripts, maps, meshes, materials and textures that can be used in Unreal Engine.

This guide will teach you how to create maps that can be played in any Training Mode BUT NOT ONLINE OR IN EXHIBITION (for now anyways).
EDIT : There is a way to play your maps in Exhibition. It is explained in the Advanced mapping” Chapter.

In order to create custom maps for Rocket League, you will need to use UDK. However, the games uses an old version of UDK and to make your maps the more stable when used in Rocket League, you must use the same UDK version as Rocket League.

Rocket League uses Unreal Engine 3, which means that we will need to use UDK 3 to create our content. Thanks to the user /u/whynotsteven, we also found out that Rocket League is using UDK from february 2013.

You will need to download UDK from February 2013 from the official link :

http://download.udk.com/UDKInstall-2013-02-BETA.exe

When installed, you will need to launch the UDK EDITOR (not UDK Game)

In certain cases, even launching the UDK Editor will launch UDK Game (which is a game demo to showcase Unreal Engine 3). In this case, navigate to the Binaries folder from your UDK directory (default directory is C:\UDK\UDK-2014-02\Binaries\ ), then locate the file UDKLift.exe. You will then create a shortcut from this file, then right-click it and go to Properties and add “editor” to the end of the Target directory. It must look like this :

2 _ Creating a blank map :

When you open UDK, it should look like this :

Because Rocket League maps must follow rules in order to work, we will create a new blank map. Click on New Map, and then on Blank Map.

Make sure one of the 4 of your viewpoints is on Lit Mode to see the materials.

Lit Mode :

You can navigate through this view by right-clicking it and moving the mouse to move the angle of the camera and using the arrow keys to move the position of the camera.

You can switch between 3 different modes to position, turn or scale a mesh. To do so, select a mesh and switch between the 3 modes by pressing space.

If you need to be more precise on your edits, right click the mode you want to use, check Relative and enter the values you want to move/scale/rotate your object.

Sometimes, the axis- cross will be messed up and be weridly rotated. To position it correctly, choose the World option int the menu next to the different editing modes.

3 _ Create our map :

Now we can begin to build our map from scratch.

To build our map we will need to add:

-meshes, the object itself, which depends on your brush;

-materials and textures that will give a texture (you don’t say) to the mesh;

-volumes and collision boxes, which prevent the car from going through the meshes.

Before we begin, you need to know :

Rocket League handles materials and collision boxes differently from UDK. This means that when you will try your level in UDK, it will look fine but it doesn’t necessarily mean that it will work in Rocket League.

What you must remember :

-At the moment, we do not have a way to create cubic shapes without causing the collision boxes to glitch. Don’t use the cube object. HOWEVER you can build custom shapes very similar to a cube ( explained in part 4 ).

Again, Rocket League Mapping is still in its early stages and we just began to use UDK, and it is possible that in a near future, using cubic shapes will be possible.

-Any other shape is working, or partially working (e.g. the Cylinder shape works great if the number of sides is greater than 4, lower can lead to collision glitches.)

You can build the shapes you want using the Brushes Menu :

                    (do not use this one !) ->

The brush selected is represented by a red shape in your viewpoint. You can change each parameters of the brush by right-clicking it in the Brush Menu.

When you are done changing the parameters to fill your will, click Build, and select the Brush in one of the 4 viewpoints. 3 axes (X,Y,Z) will appear. By dragging one of them, you can change the position of the Brush. You can imagine the brush like a cake mould. You define what shape it has, how big it is, and where it is.

Another important thing to remember :

We currently do not know how to change the spawn position of the ball and the car. This means that we must adapt the position of our map to the default spawning position. This default spawning position is slightly under the default UDK positioning (which is the coordinates X=0,Y=0,Z=0).

If you do not want your car to spawn under your map and to have to fly above it every time, I suggest you select the brush and lower it slightly on the Z axis.

If you do not want your car to spawn away from your map, I suggest you build a big flat platform. This is because the cars in Freeplay mode in Rocket League spawn randomly around the ball in a pretty big radius.

We will create a basic platform for the ball and the car to spawn on. Select the Cylinder Brush, right-click it, and change the values as you wish. (For an easy working spawning platform, change the values to these :   )

Now that your brush is correctly positioned, we must give it a Volume and a collision box.

To do so, right-click the brush in one of the viewpoints and select “Add Volume > BlockingVolume “.

This creates the collision for our mesh. It also creates a mesh the shape of the Brush, that you can move as you wish to move the collision box, this means where the car will stop.

Now that your Brush is positioned and has collisions enabled, we must give it a material, just as we would fill the cake mould with the cake batter.To do so, we will use CSG. The CSG Menu is under the Brush Menu.

For basic mapping, you will only need the first 2 CSG Tools (Add and Substract).

For now, select the Brush and click on the first CSG Tool, CSG Add.

This step creates a persistent Brush. This brush can be moved and, with a few extra steps explained a bit later, when moved will move the material with it.

The CSG Add Tool fills the Brush with a material.

The CSG Substract Tool deletes every material in the Brush.

If done correctly, you will see something like this :

The blue and white tiles are the default Material for meshes. It will also display this in Rocket League for any not-working materials.

If you want to add more platforms, change the Brush, its parameters, and its position as you whish and repeat the process of right-clicking the brush in one of the viewpoints, then selecting “Add Volume > BlockingVolume “. And finally repeat the process of adding CSG to it.

There will come time when you make a mistake. Say you added CSG to your brush, but you realize you want it to be slightly to the left. So, you select the Volume mesh, move it to the left, then select the persistent brush and move it also to the left. Now you look at your 3D Lit viewpoint and nothing changed. This is because we need to tell UDK that we changed the position of the persistent brush and that it means that we want the material to be where the brush is. To do so, we will “Build” the Geometry. On the top of the UDK window, there is a list of “Build” tools. We will left-click “Build Geometry for visible levels”, the first “Build” tool. (it can take a while depending on the size of your map.)

In order for the map to work in Rocket League, we must implement a last obligatory thing : the PlayerStart Actor. Actors are various entities that can be lights, or scripts etc.

To implement it, right-click anywhere and select “Add Actor > Add PlayerStart”.

The position of it is irrelevant of the spawning position of the ball in-game.

For the final part, you need to import your map into the game folder. In our case, we will replace the Freeplay Mode map with ours. The Freeplay Mode map is called “Park_P.upk”. It is located in “Steam\steamapps\common\rocketleague\TAGame\CookedPCConsole”. Change the normal map file name to “Park_P.upk.bak” so that whenever you want to play Rocket League you can just rename it back to normal.Now we need to save our map in UDK, go into “File” and then “Save All”. Name the file “Park_P.upk”. Copy and paste this file in the game directory and launch the game.

To load a map, so an existing .upk file, go to “File” then “Open”, and make sure that you select “All files (*.*)” in the file type filter because else you won’t be able to see your .upk files, only .udk and .mobile files.

Technically, you could already play on this map in Rocket League, but it could use a bit of upgrading.

4 _ Improving your map :

If you want to see the beautiful map you just created, you are going to need a light.

As mentioned earlier, a light is an Actor, so to add a light, right-click where you want it to be and select “Add Actor > Add Light (Point)”. You can always position it again by selecting the light in a viewpoint and dragging the axes.You will quickly see that the light is not powerful enough to light up your entire map.

In order to give a sun impression, we must change the light’s type. To do so, right-click the light and select “Convert Light > DirectionalLights > DirectionalLight”. a directional light is defined by a direction and applies light everywhere in the scene (understand world) with the same direction. This is the type of light used to give a sun impression. All the shadows casted by this light will be in the same direction, just like the sun would do in real life.

There is another type of light that can be used, alone or together with the Directional Light. This is the Skylight. The Skylight is lighting the whole scene, like the DirectionalLight, but it casts no shadow because it lights up the whole scene in every direction. Shadow, being by definition a zone where there is no light, a Skylight will cast no shadow. (This is called an Ambient Light.)

If you want your light to give a sun impression, you can’t keep the white color. The sun in real life gives a white light that appears yellow to us because of the athmosphere. To change the color of the light, select it, right-click and select “DirectionalLight Properties…”. A menu opens. Open the “Light” tab, then the “Light Component” tab, then the other “Light Component” tab. Under this tab, you can change the brightness of the light, and its color.

I suggest you take a look at the other types of lights and try them if you wish :

SpotLight lights in a given radius and from one point, like a spot.

PointLight is a point that lights in every direction but only from one point, like a lamp.

So now your map is all lit up, but it’s pretty ugly. All these blue and white tiles, everywhere. We will now talk about textures and materials. This is not complicated but it has a lot of features so take your time to understand the basics and then discover all the features by yourself. This guide will cover only a tiny fraction of the potential of materials and textures. Just know that it is a very powerful tool and it can give incredible results. (But don’t worry, we will stay in the ugly side)

First of all, we must open the Content Browser. The Content Browser is a list of textures, materials, scripts, meshes etc… that can be used in your map. All this content is stored into packages. Packages are stored as .upk files. See .upk files as .zip files. They contain a lot of files that are compressed together. These files are then gathered in folders. Open up the Content Browser by left-clicking the symbol on the top of the UDK window.

The content Browser :

 You can see all the folders and the files on the left of the window that just opened, under the “Packages” tab. You can see that there are different folders like “Engine” or “UDKGame”. Currently, we know how to use the materials and the textures stored in the Engine Folder. You will learn how to use any of the textures and materials in this folder. First of all select the “Engine” folder by left-clicking it. On the right, you can see a list of all content that is in the Engine folder. It is a pretty big list, so we will keep just what we need. To do so, you can filter the content in the top tab “Object type”. Currently, “All (53 types)” is checked. Check “Materials”. We now have a list of all the materials we can use. You can even search by key word in the top search bar.

To apply a material there are 2 techniques.

The first one is the fastest but only if you apply the material to 1 or 2 surfaces. Surfaces are faces of a mesh. You can select a surface by left-clicking it on a mesh. (It can sometimes be tricky not to select the Persistent Brush so don’t hesitate to zoom in ). A surface selected appears blue.

For the first method, select the material you wish to use in the Content Browser, and then simply drag it on the surface you want it to apply. Pretty straight forward.

Now for the second method, you want to first select one surface and then right-click it and select “Select Surfaces “. Then you have a lot of options to choose from. For example, if you want to select all the surfaces from a Persistent Brush, select one of them then right-click it and select “Select Surfaces > All Adjacents”. Once you selected all the surfaces you wish to apply a material, go in the Content Browser, and then select the material you wish to use. Then go back to your viewpoint and right-click one of the surfaces you selected and select “Apply Material : [Name of the material you selected]”.

For both methods, when you are finished applying materials, go to the Content Browser and hover the material you used. Look at the Path value. This tells you from which package the material comes from. In order to display the material in Rocket League, you must copy and paste the package were the material you used is compressed in the Rocket League Directory.

And voila, you now know how to apply materials to surfaces.

This part is not important, it will just explain the difference between a material and a texture for those who wish to know. It all begins with textures. Textures are flat images (often .tga files) . Materials use these textures to create a better effect by combining different textures (e.g. Diffuse textures) on the mesh. For example, Material can have reflection on them whereas textures will always be the same depending on from where you look. You can make your own materials with the Material Editor Tool (very powerful). It uses Nodes to create different effects.

The Material Editor:

(End of the explanation.)

Now you look at your map and you find that big dark sky a bit boring. ( I understand you ). So you want to have a sky with clouds and a sun. This will use materials as well as a skybox. A skybox is a big sphere with a sky material on it. It gives an impression of having a real sky. To create one, go into the Content Browser, select the “Engine” folder, select “All (53 types)” as object type, and type the world “sky”. Select the file “SM_SkySphere”. Then just drag it into your scene and you have a sphere with a sky material. This is a skybox. Scale it up to give an impression of a real sky and place it right in the middle. You can change the material of the skybox by dragging a material from the list to the sphere.

A skybox :

If you want to build custom shapes, select your Volume mesh, and select the “Geometry Mode” in the “Modes” Menu. (The second mode).

A window opens, select the Edit Modifier, and select a face, a vertex or a side. Now you can move or edit them as you wish with the arrows in the viewpoints.

By moving some sides of a polygon with more than 4 sides, you can nearly create a cube, whose’s hitbox works in game.

5 _ Introduction to custom materials :

This part is intentionally not finished because this is a Work In Progress. We are trying to make Custom textures work in Rocket League. This part will still explain how it should work, what is done so far and what needs to be done.

First, if we want to create custom materials, we need custom textures. As said earlier, textures are 2D images, often .tga files. Photoshop is a great tool to draw textures, and you can save your files as .tga files. Once this done, we need to create a package ( so a .upk file) . To do so, we go to the content browser, we click import in the bottom-left corner. We then import our texture, give a name to our package and a name to our sub-folder containing all textures. Once this done, we right-click the texture, select “Create New Material...”. We specify in which package the material will go, in our case, the same as our texture. Then we double-click our new Material, go into the Material Editor. in the “Material Expressions” tab, we search for “TextureSample”. We drag it into the Node workspace. Then we link the black node of the TextureSample into the “Diffuse” Node of our Material. We can select our TextureSample Node, and at the bottom in the Properties tab we can set which texture is assigned to this node by selecting the texture wwe want to use in the Content Browser and clicking the green left arrow in the Material Editor. We save and close the Material Editor. We can now use it as a normal Material. However, to see the textures in the game, we must import the package (so the .upk file) in our game folder. Remember, the Rocket League game Folder is Steam\steamapps\common\rocketleague\TAGame\CookedPCConsole. We update our Park_P.upk and normally, we would see our custom texture. However, all we can see is blue and white tiles. This means that the game could not load our material. By going into the log, we learn  that the game couldn’t compile the material, and for this reason used the Default Material. This needs to be fixed and then we will be able to use custom textures.

6 _ Links :

Map with platform to spawn + skybox :

http://www.mediafire.com/download/fieh2f0sbiplnb1/Park_P.upk

II _ Advanced mapping

A lot (if not all) of these tricks were found by other modders, especially /u/whynotsteven.

Some of these are also written guides transcripted from whynotsteven’s videos.

All of these tricks use actor classes by whynotsteven. To use them in UDK, follow these steps :

Thanks to /u/whynotsteven, we have access to a lot of classes that can be used to add objects to the map. To use them, you will first need to download the .zip file containing all the classes he extracted from the game. Here is the link to hisd github where you can download it : https://github.com/timunrue/RL-Dummy-UnrealScripts

You will now need to extract them into a folder. Browse to your Src UDK Folder (by default C:\UDK\UDK-2013-02\Development\Src), create a new folder named TAGame and extract the files that you downloaded in it. Once you have done that, we need to tell UDK to check for the new classes. To do so, browse to C:\UDK\UDK-2013-02\UDKGame\Config and open DefaultEngine.ini with a text editor (Notepad++ for example). Go to the section [UnrealED.EditorEngine]. Under this section, add “+EditPackages=TAGame” :

Now launch UDK. it will ask you this :

 

Hit yes and wait until it’s finished, then close the windows and re-launch UDK.

1 _ Play your maps in Exhibition  :

If you want to watch whynotsteven’s original video, check this link : https://www.youtube.com/watch?v=18iV9PHV-WE

First, you need to know that you will be able to play your map with Bots only and that you can’t watch replays of the match (for now).

Go to View > Browser windows > Actor Classes. Now ,in the search bar, type “player” and drag the “PlayerStart_TA” actor to the scene. Right click it and go to Properties and set its Team Index to either 0 or 1. (0 and 1 represent the blue and orange teams).

Drag a bunch in your map wherever you want, rotate them as you wish and Save your map.

Go to Exhibition and select the Beckwith Park map.

2 _ Adding Boosts to your map :

If you want to watch whynotsteven’s original video, check this link : https://www.youtube.com/watch?v=18iV9PHV-WE

Go to View > Browser windows > Actor Classes. Search “Boost” and drag the “VehiclePickup_Boost_TA” Actor into your map. Right click it and go to Properties and there you can change 2 settings :

-Boost amount : 0.12 is the normal setting for a normal boost pas, 1 for a 100% refill boost pad.

-Respawn Delay.

3 _ Creating sticky walls :

If you want to watch whynotsteven’s original video, check this link : https://www.youtube.com/watch?v=x2j1Ee_quFI

As you may have noted, walls are glitchy, you slide like crazy and you can’t drive on them without boost. To get sticky walls, just like normal walls in Rocket League, you need to first open your Content Browser, in the filters, go to the “All types” tab and check “Physicla Materials” :

Copy “DefaultPhysicalMaterial” and name it whatever you want. Right Click the new Material and go to Properties. Go to the Physical Material Property section and click on the blue arrow on the left to create a new object and select the “PhysicalMaterialProperty_TA”.

Once you have done that, check the “Sticky Wheels option and close the Properties windows. Save the package (Ctrl + S)

Now go to the Blocking Volume you want to be sticky, right click and go to Properties and scroll to the Phys Material Override option. Go to your Content Browser, select the Physical MAterial you created, and on the Properties windows click on the Green Arrow.

Make sure to copy and paste your EngineMaterials.upk file from your UDK Directory to your RL CookedPCConsole directory.

Build and save your map.

4 _ Create a custom Main Menu :

If you want to watch whynotsteven’s original video, check this link : https://www.youtube.com/watch?v=NQ8oJDt742E

Go to View > Browser windows > Actor Classes. Search “preview” and drag the “CarPreviewActor_TA” Actor into your map.

Save your map and replace the “MAIN_Menu_p.upk” file in the RL CookedPCCOnsole directory.