At long last, Update 0.1.4 is available in epic games launchers around the world! You can now update to 0.1.4 and enjoy all the new features - let’s take a look at those now!
New Variables
If you look in certain classes, you’ll find new variables for you to edit! The player character contains a new slide angle variable, custom FOV offset, and a new vault space height variable, which we’ll discuss later!
You’ll also find new text and image values in data tables that use the StaticWeaponData
row structure.
Weapon representations for UI
That leads us nicely into the new additions to the UI system! You can now set Names and Images per weapon, letting you include these things in the UI! To access them, you can use two new functions found in the InventoryComponent
, GetCurrentWeaponDisplayName
and GetCurrentWeaponDisplayImage
, also shown below.
You can use these to build more beautiful, informative UI in your HUD, or other related screens :)
Spawning with weapons
You can now start the game with weapons already in your inventory! Inside the InventoryComponent
’s default settings, you’ll find a new array called StarterWeapons
. You can fill this up with weapons, and the game will populate all the available slots with weapons, starting from the beginning of the array. This means that if you have 2 weapon slots (set with the NumberOfWeaponSlots
variable), but 3 weapons in the StarterWeapons
array, only the first 2 will be spawned and added to the player.
New Blueprint-Accessible functions
You now have access to a handful of new functions that allow you to extend the functionality of FPS Core to a whole new degree. These are essentially a test-bed for how many functions will be extendable in 0.2.0. For now, you’ll be able to get access to two of these functions, found in the InventoryComponent
and the InteractionComponent
.
InventoryComponent
InventoryComponent
now has a new event within it, called EventHitActor
. This is called each time that a shot fired from the current weapon hits something, be that an enemy, a wall, or anything else in your scene.
You can add this to your scene from the events tab of the InventoryComponent
It looks like this in the editor.
InteractionComponent
InteractionComponent
gets it’s hands on a new function called GetCurrentHitActor
. This is called on tick, and returns the currently hit interaction actor, if it exists. In order to help with this checking, it also exposes an IsValid
boolean pin to let you know if the value it’s currently returning relates to a given actor, or whether it’s simply nullptr
. It looks like this in the editor.
Together, these are powerful tools to help you extend the functionality of FPS Core, and many more are coming in the future!
Hold crouch is here!
Finally, you can choose to hold the crouch button instead of pressing it down! This functionality was originally restricted due to the sliding system, but it’s now available for you to use in conjunction with sliding. With 0.2.0, you’ll also gain the ability to disable sliding altogether, so this functionality will only grow! You can change to this new system with the new CrouchIsToggle
boolean that you can find in the Crouch
section of the FPSCharacter
’s class defaults.
Better vault checking!
You can now choose to check the height above the player as well as below when performing a vault! Set the required height above the player with the VaultSpaceHeight
variable in the Vault
category in the FPSCharacter
’s class defaults.
A whole bunch of smaller changes
Additionally, there are a whole bunch of smaller changes throughout, from optimisations and bug fixes to minor features and debug improvements.
Migration guide
FPS Core 0.1.4 largely maintains compatibility with 0.1.3, with one minor exception. Rate of fire has moved to an RPM value, instead of a time-between-shots value. This means that if previously, you had your Rate of fire for a weapon set to 0.1, you’ll now need to set that to 600 in order to achieve an equivalent rate of fire.
It’s also worth changing from the old PickupName
data structure in AmmoPickup
to the new PickupName
variable within the AmmoData
data struct. Both of these are currently functional (though the engine will prefer an AmmoData
pickup name) to maintain compatibility with older versions, but the PickupName
map is now considered deprecated and will be removed in a future update.
That’s it for 0.1.4! If you have any suggestions for future updates and content that you’d like to see, don’t hesitate to let me know in thesuggestions channel of the community discord. You can check out the full change log in the 0.1.4 list on Trello.