Creating your first map

If you haven't yet set up a Unity project for creating maps, first complete this guide then return here.

For this guide we will be using ProBuilder. To get ProBuilder, find and install it in the Package Manager.

The first step to creating a map is to create a new scene. A unity scene is what will be compiled into a map that can be loaded by Fragsurf in-game, and you can create multiple scenes in a single project. So you don't have to go through that setup process for each and every map.

To create a scene, go to Assets -> Create -> Scene, give it a name, and double click to open it. The name of this scene will be the name of your map.

Let's create a floor and give it a texture, then place a character prefab to test it out. To begin, go to Tools -> ProBuilder -> ProBuilder Window, and use ProBuilder to create a floor.

Now that we have a floor to walk on, let's drop in a player prefab to test it out. In your Assets hierarchy, type in "Test Character" to find the character prefab, and drag and drop it into the scene then hit Play.

You can adjust the Character Controller component in the inspector panel to customize key binds, air acceleration, gravity, and more. By default, it is very simple and can be tuned to your preference for whichever type of map you are creating. For example, a tricksurf map will require Acceleration to be set to 10, and bhop maps may require Acceleration to be set to around 6.2. Many values are scaled differently to match Unity scaling. The Hammer to Unity scaling ratio is 0.0254 or 0.0253999862840074 to be exact. So by default Counter Strike has 800 gravity, to match that in Unity the gravity must be 800 x .0254 = 20.32

Now let's create a spawn point and a trigger that resets us if we fall. To create a spawn point, go to Assets -> Create -> Capsule, place it where you want it to be, and add the FSMSpawnPoint component to it. Give it a targetname, I simply called it Spawn.

Now let's create a trigger that sends us back to Spawn when we touch it. Duplicate the ground object we created earlier, make it a little bit bigger, go to the ProBuilder window, and click "Set Trigger". Then add the FSMTeleport component to it, and set the Destination to Spawn

If you turn Gizmos in the top right of Scene View, you will see a line pointing from the trigger to its teleport destination target.

Now let's hit play and test out the teleport trigger.

That's just a quick how-to for creating your very first Fragsurf map. To learn more about how to use ProBuilder to create levels and geometry, click here to check out the ProBuilder documentation. ProBuilder is quite powerful, and should provide all the tools you need to successfully create awesome maps, but we are not limited to it. You can also create models in Blender and simply drag and drop them into the scene, and the same goes for custom textures as well. Anything you put in the scene will be compiled into the map. There will be more resources on adding custom textures, materials, and models later on, but for now, hopefully this is enough to get started and start getting creative.

One last hint before closing this article, the lighting in a default Unity scene is generally dark and kind of ugly. To correct this, go to the Lighting tab, click New Lighting Settings, turn off Baked Global Illumination, then click the Generate Lighting button. After doing this, realtime lighting will look much better.