Game Jam Toolkit

**Download HERE

Now updated for Unreal Engine 5! Featuring new models, sounds, and effects!

What is the Unreal Engine Game Jam Toolkit?

Time is the enemy - Equip yourself and your Game Jam team with the Unreal Engine Game Jam Toolkit from Epic Games! The Unreal Engine Game Jam Toolkit is a collection of content and code designed to give game jam participants using Unreal Engine a head start. The Toolkit is simple to learn and easy to modify. Skip hours of setup and get to making your game!

What’s in it?

The Toolkit contains a framework for rapidly developing an Unreal Engine game along with a curated collection of effects, meshes, and Materials designed to save hours of development time. Within minutes, you can add a main menu, pause and loading screens and a HUD to your existing project or use the toolkit as the base for new games and ideas. Everything’s coded in Blueprints and it includes a simple game designed using only the content in the toolkit.

What’s Included?

  • UMG HUD Framework - A great starter UMG setup with a Main Menu, Loading, Pause and Game Over widgets. This system uses Blueprint Interfaces, allowing it to be used in any game and easily accessed and integrated into existing projects.
  • Master Material - The Master Material provided gives you a great headstart and lets you make nearly any kind of Material Instance you require.
  • **Content **- Materials, Textures, Static Meshes and more have been collected from many of the Epic provided samples and projects available from the Launcher. Muzzle Flashes, explosions, and brick walls are ready for you to use to quickly prototype your ideas and get to the fun faster.
  • **UFODemoGame **- A simple but complete game built entirely using the provided content. A great demonstration of how to use the toolkit to create a simple game with a Main Menu, HUD, and Game Over widgets!

How to Install

First, download the Toolkit (here) and extract the contents of the Zip file to a folder. You will find a **GameJamKit **folder and a **UFODemoGame **folder. Everything you need is in the **GameJamKit **folder. The **UFODemoGame **is a sample game built entirely using the Toolkit and demonstrates how you might integrate it into your own project. You don’t need the demo game but it’s a great learning resource or can be used as a more fleshed out framework to work from.

Now, simply copy the **GameJamKit **folder to your own project’s **Content **folder. Optionally, copy the **UFODemoGame **folder over as well. UFODemoGame

You’ll probably want to see how this works in a real-world example. That’s exactly what **UFODemoGame **is for.

Play in Editor

You can simply load the UFOGame_MainMenu_MAP in the editor and press Play to start the game.

Play Standalone
To set up your project to launch the UFODemoGame’s Main Menu, set UFOGame_MainMenu_MAP to your Project Settings>Maps & Modes section as the Game Default Map.

Navigate to your project’s folder and right-click on YourProject.uproject file. Select Launch Game from the context menu and the game will launch in Standalone mode.


You should be presented with the game’s Main Menu. You should be able to take it from here :slight_smile:

How to Add to Your Game

Adding the toolkit to your game is fairly simple, but you will need to know some Blueprints and the Editor’s basics before going forward.

Main Menu

Getting the Main menu working is fairly simple.

First, you will need a **GameMode **class.

  • In the Content Browser, create a new Blueprint Class and chose **GameMode **as the **Parent **class. Name it something like BP_MyGame_MainMenu_GameMode
  • Open the class by double-clicking it then set the HUD Class to the **BP_GameJamKit_MainMenu_HUD **class.
  • Compile and save the Blueprint.
  • Create a new level for your Main Menu. This level can be as complex or simple as you want it to be. Even a completely blank level will work.
  • In your Main Menu Level’s World Properties, set the **GameMode class **to the MainMenu GameMode class you created before.

If you press Play now, you should be presented with the MainMenu!

The Quit button works but the Play doesn’t do anything. This is because you need to define what level to load when you click on the Play button. This data is stored in the HUD class. You have a choice here. You can either directly modify the MainMenu_HUD class directly (Easy mode) or create a child HUD class from the GameJamKit_MainMneu_HUD class. Either way, you need to define the “Level to Load”

To create your own HUD class that inherits from the Toolkit’s HUD class:

  • Navigate to the BP_GameJamKit_MainMenu_HUD class and right click on it. Select “Create Child Class” from the context menu
  • Name this new Blueprint something like BP_MyGame_MainMenu_HUD
  • Optionally, copy this to your own game’s folder structure
  • Open the newly created HUD class
  • Select the **StartLevelName **variable and set it to your game’s first level map. If you don’t have one, you can use UFODemoGame_Level1_MAP
  • Compile and save the HUD class
  • In your **BP_MyGame_MainMenu_GameMode **class, change the HUD class to your newly created HUD class.

Now when you test your main menu, you should be able to click on the PLAY button and the level defined should load!

InGame HUD and Pause Menu

The InGame HUD class is responsible for displaying the HUD (Health, Timers, score, etc.) as well as the inGame Pause Menu and the Game Over screen.

The toolkit provides a Pause Screen, the Loading widget and a game Over screen. It does not contain any widgets or code related to health, scoring, etc. You are expected to develop those on your own.

Now, this is where things might get a little complicated, especially if you already have your own HUD class already set up.

If you don’t, it’s much more straightforward.

Easy mode:

Let’s start with Easy Mode: adding the InGame HUD and Pause Menu to a game without an existing HUD class.

  • Like the MainMenu_HUD class, make a child Blueprint class from the **BP_GameJamKit_InGame_HUD **class
  • Name it like **BP_MyGame_InGame_HUD **and move it to where you’d like it in your Content folder.
  • Open your **GameMode **(the game mode you are using to define your game classes and game rules for your own game) and set the HUD class to your newly created MainMenu_HUD class.

Semi-easy Mode:

If you already have a HUD class, you have a couple options. The easiest is to change the parent class (reparent) your HUD to the BP_GameJamKit_InGame_HUD class. This will give you access to all the functionality and unless you have a function or variable that shares the same name as the ones in the Toolkit’s HUD class, you shouldn’t have any problems.

Before you begin, you should BACKUP your project or commit your changes to your server.

  • Open your HUD class
  • In the Blueprint Editor, go to File>Reparent Blueprint
  • Search for and select BP_GameJamKit_InGame_HUD
  • Unreal Engine will warn you that this might mess stuff up. Heed this warning! It very well might! Don’t forget to backup your data!
  • Once reparented, you should see basically no changes. That’s good!

IF this worked for you, skip Hard Mode below and continue to see how to trigger the pause and game over screens from your game.

Hard Mode:
Hard more is literally copy-pasting everything into your own classes. Only experts should do this and even then, they should remember to first implement the GamJamKit_HUD_Interface into their HUD Blueprint or they won’t get the events needed.

Add the MainMenu Level Name
Just as you had to define Level 1 to our MainMenu HUD class, we need to define the name of the MainMenu level for your In InGame HUD class.

  • Simply set the MainMenuLevelName variable to the name of your Main Menu Level.

Calling Interface Functions for Pause and Game Over

You now need to add some simple code to your Blueprints to get the Pause Menu and Game Over screens to activate when you want them.

Because the Toolkit uses Interfaces, it’s very easy to trigger HUD events from pretty much any class in your game. There are three Interface functions you’ll need: SetPaused, ShowWin, ShowLoss


Simply connect these wherever you want in your blueprints! In the case of UFODemoGame, **Pause **is handled by the **PlayerController **and the Win/Loss is handled by the GameState class.

Good luck in the Game Jam everybody!!

–

6 Likes

This is a great approach, as it will not only help kickstart game-jams, but (indie-) game-development in general!

I had a similar idea some years ago…
https://forums.unrealengine.com/unre…c-game-modules
…where I suggested the creation of single “modules” from Epic for basic gameplay mechanics that are compatible to each other.

You’re approach is rather having all combined in one project, but leads to a similar result: people dont have to start from zero and redo the same basics over and over again.

Some additional remarks/ideas from my “user side”:

  • the folder-structure is great, but i would suggest keeping it consistent and clean within the kit’s structure: e.g.
    /GameJamKit/Materials/Generic
    is a great place to pool materials that are usable over different surfaces (are seamless tileable, have no significant repeating pattern/spot and so on), but then within these folders shold be the different sub-groups like rock, plastic and so on, as these are not specific for unique meshes, but for generic use.

-speaking of materials: there are so many great examples of interesting and usefull material-setups within the free examples from Epic, but hardly known by people. E.g. I remember spending days going thru the assets of the Infiltrator Demo and dissecting the material setups. It might be a good idea, to have one example of each general usable material setup in the GameJamKit with some documentation how to use/modify it. Some text remarks in the material might do a lot to help people understand what and how the material does. Also renaming them towards their use might be an good idea, e.g. translucent-wetness-overlay, masked-dirt, and so on.

  • The Demo room (might be relocated under /maps as it contains only specific assets for this map) should contain/showcase all/most of the included stuff, e.g. the effects. So people can immediately see what is available like on a pelette map and e.g. copy+paste to their own maps what they want from there.

  • maybe it would be an idea to ask the community /poll what features should be included/focused in the kit further on down the development road? also the community might contribute, e.g. for the above material-setups: providing self-contained use-cases and documentation for what and how they did with it.

-…many more ideas, but i guess you have a vision in mind and I am sure it will help the developer community a lot whatever you provide.

Again, I really appreciate this initiative and hope to see more in the near future!

Greetings form a 12+ year user of UEd.

Vollgaser

4 Likes

These are great suggestions! Thanks so much for taking the time to take a look at the Toolkit and give your feedback. I’d really like to add a lot more content, but getting it out of the project it came from and cleaned up for use in a generic manner can be more work than I was planning on.

I like the idea of the Demo Room containing a showcase of the content (A la Content Examples) is a great idea too and I’ll see if I can’t get that in there! I also don’t want the toolkit to be so large and complex that it loses its focus. However, I think it would be an incredibly useful project to go through all that content and find the top 10 shaders and get them ready and cleaned up and documented.

Please don’t hesitate to drop any ideas in here and we’ll see what we can do!

–

2 Likes

I copied the examples into my content folder in a test 4.17 project and nothing showed up in the folders inside of the Content Browser. I am assuming this is for 4.18 and later?

EDIT: If you set the PointsToWin variable in the Game Mode to a value greater than 9, 10 for example so you have 2 digits, your Points To Win on the HUD will only show the Last digit and not allow for more than 1 Digit to display on the HUD

Good catch on the score! Also, yes it’s a 4.18+ project. I’ll update the instructions!

This is a really good idea - Great job ! This helps everyone get their prototypes up and running quickly. This should probably be added to the Marketplace so people can have it in their launcher :slight_smile:

This is great. Thank !!

Does this not work with 4.17?

Awesome resource, I’ll dive into it soon, btw, it seems like it should be accesible by the launcher itself, How is this not a default template? Thanks for sharing.

Thank you for sharing this!

Unfortunately, it’s 4.18+ only.

Hi. Can you clearly say is it free to use even in not JAM? Or there are some limitations? Thanks.

All of the content is released under the same EULA as the Marketplace and other releases in this forum. That means you can use it for any of your own personal or professional projects. The main limitation is that you cannot resell or redistribute the source content.

EPIC! Thank you!

very good Toolkit, But Dowenal position?

Hi, new UE4 user here!

Really excited with UE4, and will use the upcoming Game Jam to explore it: 3 days 2 night!
Wohoo!!

This kit should help me a lot.

Still going with your vid atm!

Thanks!

Hey , thanks for very useful toolkit!

good tools for starting

Definitely going to try this one out, Thanks

Is this kit replicated? If not, will it ever be?