Loading Screen and Lock On Adjustments


Jamari Williams - May 11th, 2023

This week, I focused on creating a loading screen, lock on adjustments, and a few bug fixes here and there. 

Starting with the loading screen, I made a simple screen that has fade-in and fade-out animations for smooth transitions. After doing some research, I determined that I should use Unreal Engine’s level streaming, which allows levels to be loaded and unloaded on separate threads. https://docs.unrealengine.com/4.27/en-US/BuildingWorlds/LevelStreaming/#:~:text=The%20Level%20Streaming%20feature%20makes,being%20rendered%20at%20any%20point. After creating a new, blank level, called Level_P, and making all of the levels in our game sublevels of that one. 


The level loading itself is pretty straightforward, but I had a few issues. One was with the navmeshes not working. I had to do a bit of research until I found this out, but I needed to have at least one Nav Mesh Bounds Volume inside of Level_P. If I didn’t, all of the navmeshes would be destroyed when the game starts. Here’s where I found that solution: https://forums.unrealengine.com/t/navmeshes-from-streaming-levels-are-not-loaded-if-persistent-level-has-no-nav-bounds-volumes/326936 

Another issue I had was the timing of everything. A lot of our code happens on BeginPlay, which gets sometimes gets executed before the loading screen appears. To combat this, I created a dispatcher in our GameInstance called StartLevel. Things like the minimap wait on a call from this dispatcher instead. 


I also did some changes to the lock-on system. When the player is locked on, the color of the blip will change. The player will also stop locking on if the distance between them and the enemy is too great.


Next week I plan on working on bug fixes and further polishing our game as we are fastly approaching the end of this project.

Leave a comment

Log in with itch.io to leave a comment.