The week leading up to LD JAM is perfect for learning something new.
Unity Tools
A few Unity based tools I've taken some time to learn are as follows:
- ProBuilder
- Tilemap
- Cinemachine
- ShaderGraph
ProBuilder
If you need a quick level for your character to run around on and you don't have experience with 3D modeling tools then ProBuilder gives you the ability to quickly throw something together.
It does require some basic knowledge on 3D modeling, such as faces, vertices, and edges. However, a quick youtube tutorial should get you building a rough 3D level in less than an hour.
For people with 3D modeling experience, it should be a way to rough in the shapes you want and I believe you can also export/import between your chosen modeling program to do more precise work if needed.
I do have some experience with Blender but I can see this tool being useful.
Tilemap
The 2D overhaul that Unity got a while ago made building levels and handling 2D grids a bit easier. One of my past experiments was to make a 2D level generator that I may make use of this LD. It uses the Tilemap to handle the grid portion of the level.

Cinemachine
I've spent days working on a camera controller before that I still was not happy with. Turns out if you import Cinemachine and do a bit of setup that can be condensed into a 15 minute youtube tutorial then you can have a robust camera controller.
You can make it very smart or very simple. That is also just the surface of what Cinemachine has to offer.
ShaderGraph
You can make the perfect game, but if it doesn't look nice then it won't get the attention it deserves. Some quick research into ShaderGraph can net you some nice visual effects to use on your level or character.
C# Things to Look Into
A part of game jams for me is getting better at programming. This means getting into more advanced topics and writing smarter more reusable code. Each game jam the character, enemy, and game mechanics you write should be better than the last. You can make use of proper coding practices during the jam and benefit from time saved needing to rewrite the same code or issues during troubleshooting.
- Inheritance
- Interfaces
- Nodes
Inheritance
When you have a lot of repeated code then it is time to look into inheritance. The most obvious example for action games is the Enemy class.
All or most enemies are going to have health, an attack, movement, etc.
With inheritance you can simplify accessing these shared methods and properties and avoid issues with over complicated checks.
Example 1:
Player has hit an enemy, meaning you have to access that enemy's health system. If you make a unique class that shares nothing with other enemies then you need to check which enemy it is and then access that enemy's specific class. If you use inheritance and they all share an Enemy class from inheritance, then you just grab a reference to their Enemy class.
Interfaces
An interface allows you to share common methods in addition to inherited ones.
Similar to the Inheritance example, when you hit an enemy you are damaging it. If your player can be damaged, enemies can be damaged, items in the level can be damaged, or other things can be damaged then you might want to make an interface for it.
Nodes
If you've ever looked into pathfinding or are into the more advanced parts of game development then you know that Nodes are something that come up often.
A node is faster to use than List because of how it is stored and accessed. Optimized performance isn't important for a game jam that lasts 2-3 days, but it has other uses.
Pathfinding with A* can use nodes to connect two points on a map for the quickest path while avoiding obstacles. This means your enemy can walk around a wall instead of walking into the wall.
Simply put, quite a few common algorithms make use of Nodes so a basic understanding of them could allow you to make your games a little more advanced. Enemies that can properly track you, a 2D grid for turn based strategy games having path highlighting, and anything to do with grids will benefit from this knowledge.
Commonly Reused Scripts
- Character Controller
- Input Controller
- Audio Controller
- Camera Controller
- Enemy Class
- Player Controller
- Object Pooler
- Menu Controller
Keep an archive of your scripts from past jams as reference. Over time they will improve and can be used in a large variety of different projects. Many large game companies reuse code because why reinvent the wheel every time you need one?