
For this article, i'll be using a personal favorite game of mine as a test subject, Risk of Rain 2. I wouldn't recommend selling these or publishing games with them because you're probably going to catch a 'suit against you. This means that if we can extract them properly, we can take assets and use them in our own game development. For those who don't know, assets are either given out for free (low quality), purchased (higher quality), or made in-house. We can get access to these assets by extracting them and we can access the source code. Great, so here we have two resources we can farm in this case.

A lot of devs also store their code in DLLs (dynamically linked libraries). This can include meshes, textures, animations, audio, scenes, etc. Assets are any item a dev wants to use in their game. The Unity engine calls on game objects which refer to assets stored in asset files for each compiled level or in shared asset files. Being as C# is heavily used in an object oriented context, you're going to want to have some experience with concepts like inheritance, overriding, overwriting, and datatypes. C# is the main language Unity supports and there is another javascript-like language it supports, but we don't need to mess with that right now. Unity Asset Studio - for looking at and extracting assetsįor an overview, most games are written in C#. Unity Asset Bundle Extractor - for extracting and replacing assets

Let's tear the face off this engine and start ripping it apart. With so many big name games we now have a nice target to where we can create a certain attack flow based on what we want to from the game. Kerbal Space Program, Cuphead, Doom, and Escape from Tarkov are just a few of the big names created with this engine. For the unenlightened, Unity is a cross-platform game engine that is used to create a lot of games. Today, i'm focusing on games built with Unity in specific. We'll start diving into the more involved/technical game hacking strategies moving forward.
