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.
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.
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.
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.
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.
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.
Payload functionality
Step 1 - Create the payload
To implement the payload functionality, we’ll need to create an "Actor" that includes our payload mesh.
This actor will serve as the parent for other actors needed to enable the payload functionality.
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.
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.
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.
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.
Click the “+” icon to the right of the payload actor in the sequence. Then, select Path → New Binding and search for the spline actor.
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.
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.
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:
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:
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.
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.