Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
pfist committed Aug 27, 2021
1 parent fa7091c commit b02011d
Showing 1 changed file with 39 additions and 25 deletions.
64 changes: 39 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,68 @@
![Nano logo](https://raw.githubusercontent.com/BlueVoidStudios/Nano/master/Media/GitHub_Logo.png)
![Nano logo](Media/GitHub_Logo.png)

Nano is a tiny UE4 template designed for people who want to make tiny games. It was inspired by a special award in Epic's #ue4jam that goes to the best game under 100 MB. This award tends to raise a lot of questions in the community about how to make a UE4 game so small, so I decided to create a template that does most of the heavy lifting for you!
Nano is a tiny project template for people who want to make tiny games with UE4 and UE5. It was created to support developers competing for the Tiny Award in Epic's Unreal game jams, which requires your game to be under 150 MB. The Tiny Award tends to raise a lot of questions in the community about how to make a game so small, so I created this template to give people a head start.

> Currently, Nano requires Unreal Engine 4.24 or older in order to get below 100MB. I'm still investigating this, but as of 4.25, Nano can no longer get below 100MB, even with extensive changes. For now, stick with 4.24 and below.
> If you're going for the Tiny Award in an Unreal game jam, you'll have to skip Unreal Engine 4.27 because Nano won't get you below the 150 MB limit. It currently works with 4.26 or older, as well as Unreal Engine 5 Early Access.
## Benchmarks
Here's how Nano compares to the blank template that ships with UE4:

> Numbers are based on the Shipping build configuration
Here's how Nano compares to the blank template that ships with UE4 and UE5. Numbers are based on the Shipping build configuration
### Unreal Engine 4.26
| | 64-bit | 32-bit |
| ----- | ------ | ------ |
| Blank | 181 MB | 150 MB |
| Nano | 116 MB | 85 MB |

You can take this even further if you exclude the prerequisites installer:
| Blank | 211 MB | 176 MB |
| Nano | 113 MB | 95 MB |

### Unreal Engine 5 Early Access
| | 64-bit | 32-bit |
| ----- | ------ | ------ |
| Blank | 141 MB | 126 MB |
| Nano | 76 MB | 62 MB |

_Please keep in mind: excluding the prerequisites installer means your game may not work for players who have never installed a UE4-based game before. This is probably fine for most people during the #ue4jam, but if you want your game to be accessible to everyone, skip this step!_
| Blank | 240 MB | N/A |
| Nano | 127 MB | N/A |

## How it works
To help achieve its small size, Nano comes out of the box with the following configuration:

- Windows only
- DirectX 11 & 12 only
- No editor startup map
- Shipping build config
- No editor content
- Default game map set to Entry (an empty map included with the engine)
- Shared material code & libraries
- Compressed cooked packages
- Oculus VR and Steam VR plugins disabled
- Magic Leap plugins disabled
- No prerequisites installer

> ⚠ Excluding the prerequisites installer means your game may not work for players who have never played a UE4 or UE5 game before. This is fine for Unreal game jams because the rules don't require you to include it, but if you want your game to be accessible to more players, consider packaging a second build that includes the prerequisites installer.
There are ways to reduce the size of your game even further — such as blacklisting engine content — but this template focuses on modifications that have significant results while remaining safe and usable for most developers.

## Installation
To use Nano, download the latest release for your engine version and copy it to the templates directory (e.g. `Epic Games/UE_4.26/Templates/`). Once you do this, Nano should appear as a template option in the New Project dialog.

### Unreal Engine 4
![New Project UE4 screenshot](Media/GitHub_NewProject_UE4.png)

### Unreal Engine 5
![New Project UE5 screenshot](Media/GitHub_NewProject_UE5.png)

## Packaging your game
**Visual Studio is required to package your game with Nano.** I use Visual Studio Community 2019.

There are ways to reduce the size even further, but I decided to focus on the modifications that had significant results while remaining safe and usable for most people.
If you're a Blueprint programmer like me, fear not! You don't have to use Visual Studio or write any C++; just install it with the appropriate components selected and you should be good to go.

## Instructions
To use Nano, download the latest release and copy it to your templates directory (e.g. `Epic Games/UE_4.22/Templates/`). Once you do this, Nano should appear as a template option in the New Project dialog.
> Nano uses the Development build config out of the box so you can use Print String nodes, console commands, and other development-only features. When it's time to package the final version of your game, remember to set your build config to Shipping to get the smallest size!
![New Project dialog screenshot](https://raw.githubusercontent.com/BlueVoidStudios/Nano/master/Media/GitHub_NewProjectDialog.png)
### Unreal Engine 4
Select **Game development with C++** in the Workloads tab.

### Packaging your game
- **Visual Studio is required to package your game with Nano.** This is because the VR plugins are disabled. You don't have to use it; just install it with the configuration shown below and you should be good to go.
![Visual Studio config for UE4](Media/GitHub_VSConfig_UE4.png)

![Visual Studio configuration](https://raw.githubusercontent.com/BlueVoidStudios/Nano/master/Media/GitHub_VisualStudioConfig.png)
### Unreal Engine 5
Select **Game development with C++** in the Workloads tab, then add **.NET 3.1 Core Runtime** in the Individual Components tab.

- Nano is configured for development out of the box. When it's time to package the final version of your game, don't forget to set your build config to Shipping!
![Visual Studio config for UE5](Media/GitHub_VSConfig_UE5.png)

## Credits
- The font used in the Nano logo is [Playlines](https://creativemarket.com/putracetol/2962806-Playlines-Typeface) by PutraCetol Studio
- Whomever at Epic Games wrote [this article](https://docs.unrealengine.com/en-us/Engine/Performance/ReducingPackageSize) on reducing your package size
- Heff, Tate Hartel, and AzorMachine from the #gamejams channel on [Unreal Slackers](https://unrealslackers.org) for their tips on reducing package size
- Heff, Tate Hartel, and AzorMachine from the #game-jam-chat channel on [Unreal Slackers](https://unrealslackers.org) for their tips on reducing package size

0 comments on commit b02011d

Please sign in to comment.