Table of Contents

Sorry, but I can not continue to work on this tutorial, cause I have not enough time. Maybe I will go back and end with this a bit later.đź‘‹

You can find a project source at github.

Apparatus: Extended Guide

In this second tutorial, we will talk about using the Apparatus plugin inside Unreal Engine 5 in a deep. We will create a full fireman game. The goal of the player is to put out at least half of all the wood blocks until his house wouldn’t burn out. We will add music and other features like a menu, and finally, we will publish our mobile game on Google Play!

Just before going any further, make sure you have read (or saw) our previous tutorial.

Technical task

Before creating a new game, a developer should clearly understand the features he’s going to add to the product and the workload he’s going to implement. We will create a list of all our objectives, so everyone will know the purposes of the tutorial, but we will not do anything else that is not included in the list (to save our time):

Wood block parameters

Project initialization

Before doing anything else, make sure you have Apparatus installed on your UE 5 (see previous tutorial for details). In this tutorial, we will use UE version 5.0.2, but you can actually use any 5.0+ version you already have, because they do not have significant differences.

If you got the java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 error while launching the game on the device, then just go to the project settings and manually select the location of JAVA setting to the location of JDK that was installed with your Android Studio (in our case it is C:/Program Files/Android/Android Studio/jre). </WRAP>

Creating background for main menu UI

Ok, the next step we need to implement is, obviously, the IU for players. Basically, we need to create the main menu, as described above. For the menu, we need several features:

In this paragraph we will complete tasks 1 and 2. Let’s pour in the development process by completing these several steps:

The output file extension should be .png or .jpg (not .svg). </WRAP>

Note: if you has selected the correct material in the Content browser before placing the box, the material will be applied to the mesh. </WRAP>In the up menu in level editor change Select Mode to the Brush Editing Mode. Then select box facets and move them to fit the geometry box to the scaled cube we have placed before. You can use details panel to manually set the location of the geometry box (just copy it from the Cube location data). After you fit the cube, delete the last one, but the geometry mesh should be converted to the static mesh via “Details Panel” → “Brush settings” → “Advanced” → Create static mesh. The Editor will ask you the folder for the new asset and the name for it. Just select Content folder in the project, but we will name the new static mesh as SM_WallMainMenu. Run Ctrl+Shift+S to save all changes. Go back to the Lit view mode and Select Mode in your viewport to check for result.

If you have any troubles in this step, just check our short video that explain, how to create a new static mesh via UE geometry.

When you move assets from different folders, Unreal Engine will generate so-called redirectors. While it is normal for them to appear in development build, you should avoid their existence in production build, that means, you should fix them. To find out all the redirectors in the project, go to the root (“All”) folder in the Content Browser and in filters select “Miscellaneous” → “Redirector”. After that you will be able to see redirectors in your project. Select them all, perform right mouse button click and select “Fix up”. You should fix up all redirectors before creating a product, as it also specified in Marketplace guidelines. </WRAP>Perfect, now we need to add game logo to the wall. To do so, open the operating system file browser, navigate to the path, where the logo image is stored, and drag and drop the image file from the file browser to the Content Browser inside Unreal Engine to the MainMenu folder. Rename added texture to T_GameLogo. Go to Place Actors window and search for Decal Actor. Drag and drop it to the level scene. Next, we have to create a material for it. Navigate back to the Content Browser and perform right mouse button click on the logo texture. Select “Create Material”. Name it M_GameLogo. Double click on new saved asset to open material editor. Click on the result node of the material and in details panel select material domain to the Deferred Decal. Make Blend Mode to be Translucent. Connect RGB output of the texture to the Base Color of the result node, but the A output (alpha-channel) to the Opacity parameter, as so:

UI basic logic

Here we will solve other steps that were introduced in the paragraph above. We need to create 3 different widgets and animations for them. All the widget manipulation will be done via special HUD class. So:

You can add description to every new variable. Original - is the premier rotate parameter of the spotlight, Amplitude is the maximum angle of which we will rotate the light source, Speed variable define, how fast the swaying would be, but the CurrentAngle is the current state of rotation. </WRAP>

It is worth to check for the actor validity, because the D_Swaying detail can be added to non-actor Subjective. </WRAP>

If you have some strange extra pins on the Mechanic node like this:Then try to reload Unreal project.

Here are some advices of how to launch the game on the real device, because sometimes this step is just a headache for developers:

</WRAP>

Our result:

Creating Widgets