Back
How Look North World Created the Rhythm-Based “Patchwork Parkour” in Fortnite
Michael Dekoekkoek, Lead Engineer, Look North World
Patchwork Parkour (island code: 1425-4464-4801) is a collaboration between UGC game studio and publisher Look North World and Harmonix Labs, a team within Epic Games known for developing world-class music-based experiences.
Together, we built a music game focused heavily on gameplay and music interactivity, pushing the limits of Patchwork — a suite of devices for Fortnite Creative and UEFN that allows you to create and manipulate music and visuals. Patchwork Parkour shines a light on some of the ways you can create custom soundtracks for your islands and use music to enhance gameplay.
Harmonix continues to improve and extend its Patchwork tools, and made significant improvements during the development of Patchwork Parkour.
Below, we highlight some key features used in our game, along with important learnings we made throughout the development process. For more information and documentation on the current Patchwork tools, see Epic’s Patchwork Devices documentation.
Note Sequencers enable you to place and play notes based on the current tempo. While the device doesn’t produce music directly, the output cable of the Note Sequencer can be plugged into various other devices, which we’ll describe later.
Note Triggers fire events when selected notes are produced. By placing a Note Trigger in the output chain of a Note Sequencer, you enable other devices to respond to these events and perform actions based on the triggered note. This is the main way Patchwork Parkour animates environmental hazards in sync with our soundtrack.
Along with Song Sync, these devices are the main building blocks for timing gameplay based on rhythm. They can be combined with various other devices to create the actual music, but technically you don’t even need to play any sounds to trigger gameplay based on a rhythm. The music creation process can occur in series and/or in parallel with other Patchwork devices to create your full soundtrack, which we’ll cover in the next section.
A very important device in Patchwork Parkour is the Music Manager. Though simple, it plays a crucial role by managing the tempo of all Patchwork devices. By setting the tempo in the Music Manager, we ensure that every Note Sequencer we place will play in sync with that tempo. This capability allows us to run multiple Note Sequencers in parallel, all in sync.
Patchwork Parkour primarily used built-in tools during the prototype phase, switching to Fusion Patches during development to maximize dynamic audio while minimizing the number of devices we needed to place in the map.
To balance musical complexity with memory usage, we combined Fusion Patches and Effects with Note Sequencers and Triggers in parallel. Specifically, we placed a Note Sequencer/Trigger combination (without any output to a speaker) alongside a separate Note Sequencer and various other music-generating devices in its execution chain, such as Instrument Players, Filters, Modulators, and finally Speakers.
This approach allowed us to create relatively complex music within our samples, while keeping gameplay animations precisely synchronized to the music playing in the samples.
Demonstration of Fusion Patches and Note Triggers, using multiple Note Sequencers in sync.
The simplest form of gameplay affecting music involves enabling/disabling Patchwork devices based on player entry/exit from Mutator Zone devices. This is done extensively in our game and is fairly common and straightforward. More interesting is the use of the Patchwork Value Setter device. This device enabled us to cause changes to other Patchwork devices during gameplay and affect any number of changes to the musical composition.
The following videos illustrate the use of Value Setters to control music via gameplay.
Video 2: Towards the end of level 3, the music changes to a new mix.
Video 3: The Value Setter is used to update the mix. While there are many musical changes happening throughout the gameplay, this video focuses on two distinct musical sections. We can toggle between them by adjusting the current page of the Note Sequencer.
Video 1: Level 3 begins with a new mix.
If your players aren’t specifically interacting with the Patchwork devices themselves, there are several ways to reduce the memory hit you may encounter, depending on the number of Patchwork devices in use.
However, for production-level performance, take the time to convert anything that can be converted to other types of animation formats.
We found Verse scripting ideal for most of our needs. While some more visually complex animations remained in Level Sequences, it’s important to manage them carefully for optimum performance.
As a rhythm-based obby/platformer, Patchwork Parkour required using many of the same obstacles that each consist of one or more actors. In UEFN, this presents a development hurdle around componentizing these objects for easy manipulation and copy-pasting. Here are a few tips to simplify this process:
![Level Sequence Multiple Actors](https://cdn2.unrealengine.com/level-sequence-multiple-actors-1920x1080-69edd9f2a0a0.png)
In Patchwork Parkour, we explored how to blend dynamic music with engaging gameplay while optimizing performance. From leveraging various tools to fine-tuning memory management, every decision helped shape a smoother and more immersive experience. As you develop your own islands, remember to experiment, optimize, and have fun!
Jump into the game now using island code 1425-4464-4801.
Together, we built a music game focused heavily on gameplay and music interactivity, pushing the limits of Patchwork — a suite of devices for Fortnite Creative and UEFN that allows you to create and manipulate music and visuals. Patchwork Parkour shines a light on some of the ways you can create custom soundtracks for your islands and use music to enhance gameplay.
Harmonix continues to improve and extend its Patchwork tools, and made significant improvements during the development of Patchwork Parkour.
Below, we highlight some key features used in our game, along with important learnings we made throughout the development process. For more information and documentation on the current Patchwork tools, see Epic’s Patchwork Devices documentation.
Creating Rhythm-Based Gameplay
Main components: Note Sequencer, Note Trigger, Song Sync
For many games, the primary Patchwork components used to create rhythm-based gameplay are the Note Sequencer, Note Trigger, and Song Sync devices. Patchwork Parkour makes extensive use of the first two. The Song Sync device offers powerful tools for synchronizing UEFN Level Sequences with audio. Since it was released midway through development, we weren’t able to fully utilize it in this project, but it shows great potential for future use.![Fortnite Patchwork Parkour Sequencer Trigger Combo](https://cdn2.unrealengine.com/fortnite-patchwork-parkour-sequencer-trigger-combo-1920x1080-d7f149c66d8d.png)
A Note Sequencer / Note Trigger combination used to sync actors with Patchwork Parkour’s drumbeat.
Note Sequencers enable you to place and play notes based on the current tempo. While the device doesn’t produce music directly, the output cable of the Note Sequencer can be plugged into various other devices, which we’ll describe later.
Note Triggers fire events when selected notes are produced. By placing a Note Trigger in the output chain of a Note Sequencer, you enable other devices to respond to these events and perform actions based on the triggered note. This is the main way Patchwork Parkour animates environmental hazards in sync with our soundtrack.
Video showing the Note Sequencer / Note Trigger combination triggering light animations in-game.
Along with Song Sync, these devices are the main building blocks for timing gameplay based on rhythm. They can be combined with various other devices to create the actual music, but technically you don’t even need to play any sounds to trigger gameplay based on a rhythm. The music creation process can occur in series and/or in parallel with other Patchwork devices to create your full soundtrack, which we’ll cover in the next section.
A very important device in Patchwork Parkour is the Music Manager. Though simple, it plays a crucial role by managing the tempo of all Patchwork devices. By setting the tempo in the Music Manager, we ensure that every Note Sequencer we place will play in sync with that tempo. This capability allows us to run multiple Note Sequencers in parallel, all in sync.
Creating Dynamic Soundtracks
Blending externally and internally generated audio for a music-focused gameplay experience
Main components: Fusion Patches, Instrument Players, Effects, Filters, Modulators, Speakers
Patchwork offers a robust toolset of audio devices that enable you to create a full music experience. You can generate your entire soundtrack using Patchwork’s built-in instruments and effects, or, even more excitingly, supply your own samples using external audio tools through Fusion Patches.Patchwork Parkour primarily used built-in tools during the prototype phase, switching to Fusion Patches during development to maximize dynamic audio while minimizing the number of devices we needed to place in the map.
To balance musical complexity with memory usage, we combined Fusion Patches and Effects with Note Sequencers and Triggers in parallel. Specifically, we placed a Note Sequencer/Trigger combination (without any output to a speaker) alongside a separate Note Sequencer and various other music-generating devices in its execution chain, such as Instrument Players, Filters, Modulators, and finally Speakers.
This approach allowed us to create relatively complex music within our samples, while keeping gameplay animations precisely synchronized to the music playing in the samples.
Affecting Music with Gameplay
Along with creating music and enhancing gameplay mechanics, Patchwork has a variety of tools for making the gameplay affect the music. Patchwork Parkour uses various techniques to have the music dynamically update based on the player’s actions and progress in the game.The simplest form of gameplay affecting music involves enabling/disabling Patchwork devices based on player entry/exit from Mutator Zone devices. This is done extensively in our game and is fairly common and straightforward. More interesting is the use of the Patchwork Value Setter device. This device enabled us to cause changes to other Patchwork devices during gameplay and affect any number of changes to the musical composition.
The following videos illustrate the use of Value Setters to control music via gameplay.
Video 2: Towards the end of level 3, the music changes to a new mix.
Video 3: The Value Setter is used to update the mix. While there are many musical changes happening throughout the gameplay, this video focuses on two distinct musical sections. We can toggle between them by adjusting the current page of the Note Sequencer.
Learnings/Dev Tips
Main components: Patchwork Memory Mode, multiple pages in Note Sequencers, Fusion samples, skeletal meshes, actor binding
Memory Management
Patchwork devices can consume significant memory in your game. Here are some tips for balancing memory usage while maintaining dynamic music.If your players aren’t specifically interacting with the Patchwork devices themselves, there are several ways to reduce the memory hit you may encounter, depending on the number of Patchwork devices in use.
- Use the Patchwork Memory Mode setting in Island Settings. This setting effectively disables all the animations and many of the graphics used by Patchwork devices during gameplay. This feature is only appropriate if your players don’t need to interact with the Patchwork devices during gameplay.
- You’ll need to balance this usage—when you’re creating/integrating your music with Patchwork, you’ll need them fully visible and interactable. But when you’re publishing or doing memory tests, you can enable this feature and significantly reduce your memory footprint.
- Utilize multiple pages in Note Sequencers that you can change via Value Setter devices depending on gameplay needs.
- Note Sequencers can have multiple pages and you can loop them individually or in sequence. Patchwork Parkour takes advantage of this feature to reduce the number of individual devices in the game. For example, we change pages based on player progress, as in the earlier video with the Value Setter where we trigger a change to a Note Sequencer’s page 3 to play different music.
- Use Fusion samples. As mentioned earlier, Patchwork Parkour relies heavily on Fusion samples. By creating audio in an external DAW and playing it in a Fusion Patch via the Instrument Player device, you can reduce the number of individual devices required to produce a given sound, thus reducing memory usage.
Cinematics: Benefits and Pitfalls
We knew going into development that Level Sequences and Cinematic Sequence devices were heavy on performance, but we also found that they were perfect for quickly iterating on game mechanics that sync well with music. During the prototyping phase, they make creating fun gameplay mechanics fast and easy, so we recommend using them for prototyping / early in your game’s development.However, for production-level performance, take the time to convert anything that can be converted to other types of animation formats.
We found Verse scripting ideal for most of our needs. While some more visually complex animations remained in Level Sequences, it’s important to manage them carefully for optimum performance.
- When playing Cinematic Sequence devices synced with a beat, try to consolidate as many actors performing animations on that beat into as few Level Sequences as possible. These devices cause a significant performance hit when they start and stop, so minimizing the number of Level Sequences playing at same time helps improve the performance.
- In Patchwork Parkour, we created a zone-based animation enabler/disabler to reduce the number of cinematics playing concurrently. Since the game is single-player, we were able to specifically manage how many devices were playing at once.
As a rhythm-based obby/platformer, Patchwork Parkour required using many of the same obstacles that each consist of one or more actors. In UEFN, this presents a development hurdle around componentizing these objects for easy manipulation and copy-pasting. Here are a few tips to simplify this process:
- Skeletal meshes: Avoid using skeletal meshes in cinematics if possible.
- Initially, we built all of our music-triggered environment hazards using skeletal meshes and their animations. This made it much easier to work with multiple hazards, since a change in the animation in most cases only required updating the animation, rather than modifying every track in multiple cinematics.
- However, in UEFN’s current state, cinematics will cause skeletal meshes to tick their animation and refresh bones every frame, even when no animation is set. This can lead to performance issues.
- Initially, we built all of our music-triggered environment hazards using skeletal meshes and their animations. This made it much easier to work with multiple hazards, since a change in the animation in most cases only required updating the animation, rather than modifying every track in multiple cinematics.
- Actors and tracks: To optimize performance when using cinematics, it's best to bind only one actor to each transform track. This approach ensures smoother loading and minimizes potential performance issues caused by how cinematics handle sub-objects.
- If multiple actors are bound to a single track, a double yellow arrow icon will appear on the track. Be sure to watch for this and avoid it whenever possible to maintain optimal performance.
![Mutliple Actors Bound](https://cdn2.unrealengine.com/mutliple-actors-bound-1920x1080-9d71449861d1.png)
- Additionally, it’s good practice to keep actors separate in sequences. Copying and pasting transform tracks is quick and easy, so if you have multiple actors playing the same animation, you can simply copy the transform tracks to each actor, ensuring they animate in sync.
![Level Sequence Multiple Actors](https://cdn2.unrealengine.com/level-sequence-multiple-actors-1920x1080-69edd9f2a0a0.png)
In Patchwork Parkour, we explored how to blend dynamic music with engaging gameplay while optimizing performance. From leveraging various tools to fine-tuning memory management, every decision helped shape a smoother and more immersive experience. As you develop your own islands, remember to experiment, optimize, and have fun!
Jump into the game now using island code 1425-4464-4801.