There are many individual UI elements in the game that display various information. Each one can be selected and modified in the Work Room to make your game look exactly how you want it to look.
Note: Most of the UI scripts have properties called [Something]ElementId. These point to the Element Id property on the various "UI Panel", "UI Button" and "UI Label" scripts on the objects. You generally will not need to change these, but if you do make major modifications to the UI you may need to update these values.
Note: If you make custom art for these you should ensure it is top left aligned. This means that if you were to draw a rectangle around your art in the Voxel Object Editor, the top left corner of that rectangle would touch the "+" symbol on the ground plane.
The "FPS - Healthbars UI" script will add a health bar above any damageable objects that have one of the tags in the Show On Tags list. The voxel object you reference in Health Bar should be animated from empty to full over any amount of frames. More frames = more accurate health representation.
You can add multiple copies of the "FPS - Healthbars UI" script and set them to target different tags to get different health bar styles over specific object types.
This lets you control the emojis players can use in your game. It’s quite easy to swap out different emojis and set keybinds for each one. This could also be turned into a sort of spell casting system since each emoji can have its own cooldown and the emoji template that gets spawned could affect the game in some way!
The "Advanced Emoji" script has some settings at the top to control the general behavior of emojis and then there is a big list of properties that let you set up to 10 emojis, each with its own cooldown, keybind, icon and template.
An icon is displayed on screen so the player can see their own emotes. This can be adjusted with the Icon UIPosition X, Icon UIPosition Y and Icon Scale settings.
An Emoji Button is available so mobile players can use emojis. This button can be disabled or modified. You can also set a shortcut key to open a radial display of emojis so players can see what is available. The radial display is handled by the Emoji Screen Template. This screen can be found in the Work Room and has some of its own settings. If you do make adjustments to the screen you will need to make your own template and reference it in the "Advanced Emojis" script.
The Kill Feed displays a message each time a player is killed. The "FPS - Kill Feed UI" script has some settings that let you customize a few things. The other scripts make up the actual UI elements. These can be adjusted and added to as you see fit.
The most important setting is the format for messages. This looks like "{killer} {method} {victim} with a {weapon}". Each term in this message will get swapped out for the appropriate text and you can lay this message out however you want.
This is a list of online players that slides out from the left side of the screen when a key is held down. The sliding animation is handled by some animation sequence scripts. This is totally optional and you could instead keep the player list on screen if you wanted by just removing the sequence scripts or clearing the Show Sequence Id and Hide Sequence Id settings.
The keybind to show the screen can be changed with the Keybind setting.
Finally the text can be formatted with the remaining settings.
Show Guest Count
Title Text
Team Title Text
Player Text
Guests Text
Sort Method
Group Players By Teams
The lower left information and low health / ammo warnings are handled by this object.
Health Amount Text
Low Health Warning Text
Ammo Amount Text
Low Ammo Warning Text
Revenge Kill Text
Player Amount Text
The remaining settings just affect timing and color for the most part. You can also open up the various UI scripts to modify the position and look of the elements.
The Round UI handles the various round related messages and the timer. It has a big label which shows larger flashing messages, a small label that displays information about the round and a timer that counts down during the rounds.
Most of the settings here involve timing and text formatting.
Big Label Visible Seconds
Big Label Flash Speed
Waiting For Players Flash Speed
Round Countdown Flash Speed
Waiting For Players Text
Game Finishing Countdown Text
Game Starting Countdown Text
Begin Round Text
Finish Round Text
Big Label Flash Color 1
Big Label Flash Color 2
When a round ends the top three players will see a medal appear in the center of their screen based on their rank. Players who did not place will see a no placement icon. This UI will also show a death icon to players when they die.
The Show Message Sequence Id and Hide Message Sequence Id settings reference Sequence Id properties on the "UI Animation Sequence" scripts. These are used to show and hide the messages and add some polish to the display.
Damage Indicators UI When a player is shot or hit by an explosion they will see a small indicator in a compass direction that the damage was done from. This helps them track who hurt them so they can have a better chance to defend themselves.
The Damage Indicator itself is just a small Voxel Object that will get displayed around the center of the screen based on the Screen Radius Percent and fade away over Indicator Lifetime Seconds.
Killing a player more than one time in a row without dying will start a "Kill Streak". These kills will get extra callouts and sounds. By default these will go from double kill to rampage.
There are 4 levels of kill streak that can be customized with different art and sound. Just fill in the Streak [#]Icon and Streak [#]Sound settings for each one. Like most UI, the art should be top left aligned as mentioned at the beginning of this page.
This shows the top players of the round while a round is active. It can be configured to show a specific number of players and the text can be formatted however you want.
Each entry in the leaderboard is a separate object that gets created, attached and positioned. The entry template can be found right below the Leaderboard UI object. You can make your own template to adjust how the entries look, just be sure to reference yours in the Leaderboard Entry Template property, and ensure that the Leaderboard Entry Root Element Id and Leaderboard Entry Text Element Id settings are pointing to Element Id properties on UI scripts on the template.
The Entry Text is used on each entry and the terms in brackets are swapped out for their actual values
The Stats UI shows the player’s all time stats. It’s a place they can see how much damage they have done, how many wins they have and other information. It works like the Leaderboard UI and spawns a separate entry object for each stat.
The Call To Action Element Id points to a "UI Panel" on the "Stats UI" object. This panel will show if the player is a guest since they can’t save their stats. If used, this should display some sort of messaging to point them towards creating an account.
Each entry is a separate object that gets created, attached and positioned. The entry template can be found right below the "Stats UI" object. You can make your own template to adjust how the entries look, just be sure to reference yours in the Stats Entry Template property, and ensure that the Stats Entry Root Element Id and Stats Entry Text Element Id settings are pointing to Element Id properties on UI scripts on the template.
The Stat Text is used on each entry and the terms in brackets will be swapped with their actual values
Player Stat Text is used when a stat involves a player name, like Top Grudge.
Weapon Stat Text is used when a stat involves a player name, like Top Weapon.
This handles the score in the lower center portion of the screen. You can format the text itself and the bracketed {points} will be replaced with the actual score. You can also set a max number of zeros that you want to display before the score value to get a more arcade style.
As a game developer you often need to clear your save data and start fresh to test things. This object shows a button on the left center of the screen that will clear save data when pressed. In the FPS Kit this is disabled by default to stop it from accidentally being enabled when games are published. If you want to use this you can uncheck the Disabled setting, just be sure to disable it again before launching your game so players don’t accidentally erase their progress!