Overview Of This Week
Last week, I felt that I was ready to begin learning Unreal C++. This week I decided to go to the utmost basics with learning as much as I could with UPROPERTIES as well as UFUNCTIONS. I also planned my possible game that I would make for the Hyper Casual theme with the use of trello. I also learnt more about the games industry and had a small introduction with how to make myself more employable.
Unreal C++
UPROPERTIES
Whilst researching everything I can with UPROPERTIES, I learnt that a UPROPERTY is essentially a variable that can be used within the blueprints. However, this isn’t always the case due to the Meta Specifiers that you can put within the brackets of a UPROPERTY. An example of a UPROPERTY that I made will be shown below:

I put a lot of code comments for this one UPROPERTY but I am using this hyper casual game project as a future tutorial for myself when I will forget the minor details of things. The code comments within the image describe my iteration and knowledge gained for UPROPERTIES.
UFUNCTIONS
A UNFUNCTION is a function that can be called within blueprints. The interesting thing about them is that they can be converted into events, macros and more with certain meta specifiers. An example of one of the UFUNCTIONS that I made will be shown below:

I continued with the code comments to help my future self when I want to make certain specific UFUNCTIONS or I get mixed up with the Meta specifiers between UFUNCTION and UPROPERTY as they can be very similar. It is worth to note that I provided links for myself to allow for easy access for Meta specifiers or a general explanation of how to make these work.
An example of an event made from a UFUNCTION will be shown below:

The code above is how to make an event that can be called within Blueprints. It has to be a void or else it will turn into something else in the blueprints. An example would be if you made TestEvent() an Int return type. This would convert the event into a function call within the editor; Sounds confusing but it literally turns it into a function that is made in Blueprints or when you add a function within Blueprints if that makes sense to people reading as it makes sense to me. Each UFUNCTION that is created has a specific use that will have to be implemented for scenarios in future projects.
Hyper Casual Game Planning With Trello
Before I would make my game, I would have to gauge from my current skill level what type of scope I will use during development. I thought of the general moods and types of gameplay that will be implemented. The current trello for the game will be shown below:

Here you can see that I made notes for what soundtrack I would implement into the game as well as other things. The main idea for the game was that the player would control a character that is stuck in a time loop. The twist would be that the player would have to act hyper casually and not use knowledge from time looping. Ideas to implicitly control the player would take findings from conformity studies as well as economic theory. Currently, 60 percent of the game is clear in my head with what I will pursue and make. Thus, further planning and work will have to made until I start making the game. I will also have to learn a few more things with Unreal C++ until I can fully calculate my scope.
Industry Practice
This week, I was presented with the Norwich Profile which allowed me to assess my strengths and weaknesses currently. The main weakness that I found was that I didn’t score myself highly with teamwork; This is due to the fact that I didn’t have much experience working as a team in coding. At later dates however, I will be working in internalised game jams that will help with my communication as well as understanding how to spilt work loads between team members. My main strength, in my opinion, was my coding as I participated in three game jams over the summer which helped with my ability in making games significantly.
Extra Things I Have Learnt Or Problems I Have Solved This Week
- Whilst learning how to make UPROPERTIES. I learnt how to use and initialise FStrings. I also provided myself with the necessary documentation if I want further information in the future.
- before starting with Unreal C++, I found it very hard to visualise how C++ and blueprints can work together. However, I saw how you can make Blueprint children derived from C++ code as well as learning the advantages that Blueprints can have over C++. One such example is UI being much easier to make within BP than C++. This is because you see an instant change compared to compiling. I learnt this theory within the lessons but saw first hand how long compiling can be when making the simplest of code.
- Opening up Unreal 5.2, I realised that action mappings and axis mappings have been made redundant (can still use them but not recommended) this is where I learnt how to use the improved input mappings.
Plans For Next Week
Whilst trying to learn UPROPERTIES and UFUNCTIONS, I saw how important a Debugger is to any piece of code whether it be complex or simple to gain information for your own code. I used Debugging within the blueprints but next week I would like to fully grasp how to use Debugging within C++. I don’t think learning debugging will take the whole week, this is where I want to try to implement movement to the character especially converting the knowledge I gained from enhanced input mappings in Blueprints and translate it into C++.