Case Study
Heading
Feb 8, 2024

Creating a payload mode in UEFN - Banana Fever

We will guide you through the process step by step to implement our model in UEFN and add functionality

Premise

Fortnite is a videogame developed by Epic Games that includes different game modes.UEFN (Unreal Editor for Fortnite) is an application designed to create, develop and publish maps for Fortnite, offering extensive editing capabilities with its library of assets and the option to integrate custom assets.

We will guide you through the process step by step to implement our model in UEFN and add functionality so that we can create custom builds, experiences and games in Fortnite.

Resources

  • Any 3D modeling software  (Maya, Blender, etc…)
  • Any texturing software (Substance Painter, Photoshop, 3D Coat, etc…)
  • UEFN and Fornite installed in Epic Games — you will need an Epic Games account

About development

The integration of custom assets allows us to create maps with new visual styles, experiences and different logic games.

In Banana Fever, we used vegetation resources from the Fortnite library, but we aimed to incorporate the VIPE car and Cool Banana to infuse our creations with our personal identity.

The VIPE car is part of the VIPE brand, a marketplace offering ready avatars for the metaverse, VR and Vtubing. Cool Banana is among the most popular avatars from the inicial round of the 100 Avatars collection brand.

VIPE car with Cool Banana in Fortnite scene

Integrate 3D models

After creating the 3D model using your preferred software and workflow, along with their textures, we will import everything into our UEFN scene. You can import models in .fbx and .glb. formats. By default, the .glb format generates materials with our textures. However, if this isn’t the case, you’ll need to import the textures separately and create the materials.

Material configuration

As mentioned in the previous step, if the editor generates a material in .glb format by default, it’s essential to note that sometimes issues may arise, needing the creation of a new material. Our materials consists only of ‘’Albedo’’ textures, so we only need to create ‘’Texture Object’’ and ‘’Texture Sample’’ for the base color.

Material editor

If your model includes additional textures such as metallic, roughness, etc., and you’re using Substance Painter for texturing, ensure to export these textures for the Unreal template. Within Substance Painter settings, you can locate the optionsfor exporting the remaining textures required for the Unreal Engine.

Substance Painter template: Unreal Engine 4 (packed)

Implement animations with Skeletal Mesh

Implementing animations is straightforward. You can simply drag the model with the animation into the scene. If you need to attach it to a mesh, select the mesh and in the “Details” menu on the right side, under the “Main Actor”, click “➕Add”.

A menu with different options will appear. To add an NPC, choose “Skeletal Mesh” and then add the mesh, the mesh with animation and the mesh texture. It’s easier if it’s in .glb format.

Main actor menu
Skeletal mesh settings for animations

Collisions and LODs

After importing the model into the engine, double-click to open it and adjust the collisions while assigning the corresponding material.

Here are a few considerations:

  • Upon importing a model, it defaults to having 3 LODs, which can occasionally lead to issues. In such cases, it’s advisable to change the LODs from 3 to 1.
  • The “collision complexity” should be set to ‘’use simple collision as complex”, or if unnecessary, it can be removed entirely. Remember to save the changes, or they be lost.

Keep in mind that each time you re-import the model, you’ll need to readjust the collisions.

Model settings
Collisions settings inside the model

Environment details

As mentioned, we’ve integrated the VIPE car and Cool Banana, while the remainder of the environment consists of assets from the Fortnite library. You have numerous options to customize your map. In our case, we aimed for a jungle island theme. Within the library, you’ll discover asset packs including plants, trees, rocks, structures, VFX like fire, sounds and more.

Postprocessing

Finally, you can enhance the environment and experience by adding post-processing effects. These effects can significally contribute to creating a more immersive atmosphere.

How to add postprocess

Postprocess settings

Payload functionality

Step 1 - Create the payload

To implement the payload functionality, we’ll need to create an "Actor" that includes our payload mesh.

Creating actor in UEFN editor

This actor will serve as the parent for other actors needed to enable the payload functionality.

Add mesh to the main actor in UEFN editor

Step 2 - Create a path

Once our main actor is in the scene, we need to create a spline.You can use a Fortnite device called Zipline to accomplish this. This actor enables you to duplicate the spline to an empty actor, facilitating the creation process.

Zipline hierarchy in UEFN editor

You can modify the spline without the mesh by pressing “Left Alt” and moving the points of the spline to duplicate them. We will use this spline actor as a path to our payload.

Finished spline actor in UEFN editor

Step 3 - Move the payload

Now it’s time to move the payload. To archieve this, we will use another Fortnite device called "Cinematic Sequence". We need to create a new sequence in our asset folder and assign it to the device.

Cinematic sequence device in UEFN editor
Create a sequence in UEFN editor

Now it’s time to set up our moving object and the path. To do this, double-click on the sequence and add a track with the main actor previously created.

Add actor to a sequence in UEFN editor

Click the “+” icon to the right of the payload actor in the sequence. Then, select Path → New Binding and search for the spline actor.

Create a path in a sequence in UEFN editor

At this point, the path should be operational, and you can preview the movement along the path using the timeline. You can also modify keyframes to adjust the speed and movement along the path as needed.

Path sequence example in UEFN editor

Step 4 - Mutator Zone

To activate / disable the movement of the payload, we will add a mutator zone and configure events.

  • One player ente,r we will play the sequence.
  • One player exit, we will pause the sequence.

Mutator Zone device configuration in UEFN editor

The mutator zone must be a child of the main actor so that the zone moves with the main actor along the spline path.

Our hierarchy should look like this:

Hierarchy example UEFN editor

Step 5 - Actor collider & Hp system

To create a collider and health system for the payload, obtain a vehicle from the Fortnite assets. These vehicles come with custom sounds and a health system that we’ll use for our payload.

  • Scale down the vehicle to 0.1 or 0.2 and position it at the center of our payload.
  • Create custom boxes inside the vehicle actor to act as colliders. Adjust these boxes to match the size of the playload.

The hierarchy for our payload should look like this:

Payload example with hierarchy in UEFN editor

Now, create a transparent material and assign it to hide the colliders.

Additionally, create a new Prop Mapulator device as a child of the payload actor to control events such as destruction or showing/hiding props, and configure the payload health.

Manipulator device example in UEFN editor

Step 6 - Extras

To complete the payload, you can add a beacon that appears or disappears every time the player enters or exits the mutator zone.

If you want your payload to attract agression from mobs or creatures, consider adding a Sentry or an Automated Turret on top of it. This will cause them to shoot at the creatures, focusing their attention away from you.

Otherwhise, the mobs will focus on you, potentially hitting the payload if they are near it or pass by.

And that’s it! Your payload is now ready to go.

Payload hierarchy in UEFN editor

Payload scene view in UEFN editor
Code
UEFN
Fortnite
Videogame
Isabel Peirona
Environment Artist

Passionate about video games and art

Carlos Castro
Coder
Tutorial
How to import Decentraland SkyboxEditor into Unity
Tutorial
Doing a MANA transaction in a Decentraland scene
Tutorial
Canvas (2D UI) Manager in Decentraland