dot big bang

Developer API
Menu
All
  • Public
  • Public/Protected
  • All

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.

Healthbars UI

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.

Emojis UI

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.

Kill Feed UI

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.

  • {killer} - The killer’s username
  • {method} - The Weapon Verb found in the Weapon Data
  • {victim} - The victim’s username
  • {weapon} - The Display Name found in the Weapon Data

Player List UI

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

  • This will display the number of guests playing at the bottom of the list.

Title Text

  • This text shows at the top of the list.

Team Title Text

  • If Group Players By Team is true, This text shows above each team in the list.

Player Text

  • This defines the format each entry in the list will have. The {player} term will be swapped out for that player's username.

Guests Text

  • If Show Guest Count is true, this defines the format for the final line of the list. The {guests} term will be swapped out for the number of guests.

Sort Method

  • Determines how the players are sorted in the list.

Group Players By Teams

  • If true, the list will be broken into sections per team.

HUD & Messages UI

The lower left information and low health / ammo warnings are handled by this object.

Health Amount Text

  • This defines the format for the player’s health display. It looks like "{health}/{maxHealth}" with the bracketed terms being replaced for their actual values.

Low Health Warning Text

  • This message will flash on screen when the player’s health gets below the Low Health Threshold Percent. "LOW HEALTH: {health}" will have {health} replaced with the player’s current health. {maxHealth} is also available.

Ammo Amount Text

  • This is displayed in the lower left corner of the screen near the health display. "{rounds}/{magazineSize}" will have the bracketed terms replaced with the actual values.

Low Ammo Warning Text

  • This message will flash on screen if the player’s ammo gets below the Low Ammo Threshold Percent. "LOW AMMO: {ammo}" will have {ammo} replaced with the player’s current ammo. {magazineSize} is also available.

Revenge Kill Text

  • This message will appear on screen if the player kills the player who last killed them.

Player Amount Text

  • This is displayed in the lower left corner of the screen and shows how many players are in the game. "{players}" will be replaced with the number of players in the game.

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.

Round UI

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

  • Controls how many seconds the big label stays on screen when it is displayed.

Big Label Flash Speed

  • The big label will flash between two colors at this speed. A lower number means a faster flash.

Waiting For Players Flash Speed

  • The small label will flash on and off at this speed while the waiting for players message is displayed. A lower number means a faster flash.

Round Countdown Flash Speed

  • The small label will flash on and off at this speed while counting down to the next round. A lower number means a faster flash.

Waiting For Players Text

  • This is the message that will display in the small label while waiting for enough players to start a round.

Game Finishing Countdown Text

  • Right after a round ends there is a period between that and the start of the countdown for the next round. This message is displayed on the small label during that time. The term {time} will be swapped out for the actual time remaining if used.

Game Starting Countdown Text

  • After the post round countdown this countdown will begin while waiting for a new round to start. This message is displayed on the small label during that time. The term {time} will be swapped out for the actual time remaining if used.

Begin Round Text

  • This will be shown in the big label when a round begins.

Finish Round Text

  • This will be shown in the big label when a round ends.

Big Label Flash Color 1

  • The big label will flash between this color and Big Label Flash Color 2 when it is on screen.

Big Label Flash Color 2

  • The big label will flash between this color and Big Label Flash Color 1 when it is on screen.

Medals Icon UI

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.

Kill Streak Icons UI

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.

Leaderboard UI

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

  • {score} becomes the current score for that player
  • {name} will display that player’s username

Stats UI

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

  • {statName} becomes the name of the stat
  • {statValue} displays the current value of the stat

Player Stat Text is used when a stat involves a player name, like Top Grudge.

  • {statName} shows the name of the stat
  • {player} displays the player name
  • {statValue} becomes the current value of the stat

Weapon Stat Text is used when a stat involves a player name, like Top Weapon.

  • {statName} shows the name of the stat
  • {weapon} displays the weapon Display Name found in the Weapon Data
  • {statValue} becomes the current value of the stat

Points UI

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.

Reset Data UI

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!