How to Use Custom Fonts in Phaser 3

AuthorSumit Dey Sarkar

Pubish Date11 Jun 2023


In this article, we will learn how to use custom fonts in phaser 3.


How to Use Custom Fonts in Phaser 3


Using Custom Fonts in Phaser 3

To use custom fonts in Phaser 3, you need to follow these steps:


1) Create the files for your unique fonts:

Your preferred font files should be converted to web font formats like .woff or .woff2, which are typically in the .ttf or .otf format. You can use online converters or tools like Font Squirrel's Webfont Generator to generate these formats.


2) Add the font files to your Phaser project:

Put the converted font files in a directory within your project called "assets/fonts" to which they have been converted.


3) Load the font files in your Phaser scene:

In your Phaser scene's preload method, use the this.load.add method to load the font files. Here's an example:

preload() {
  this.load.add('customFont', 'assets/fonts/customFont.ttf');

Make sure that you replaced 'assets/fonts/customFont.ttf' with the correct path to your font file.


4) To style the custom font, create a CSS style:

Use the @font-face rule to set a CSS style for the unique font in your HTML or CSS files. Specify the font-family name, font file URL, and font formats. For example:

@font-face {
  font-family: 'CustomFont';
  src: url('assets/fonts/customFont.woff') format('woff'),
       url('assets/fonts/customFont.woff2') format('woff2');

Adjust the URLs and format specifications based on your font file paths and formats.


5) Apply the custom font in your Phaser scene:

In your Phaser scene's create method, set the desired font style for text elements using the setFont method. For example:

create() {
  this.add.text(100, 100, 'Hello, Phaser 3!', {
    fontFamily: 'CustomFont',
    fontSize: '32px',
    fill: '#ffffff'

Ensure that 'CustomFont' matches the font-family name you defined in the CSS @font-face rule.


That's it! Now your Phaser game should be able to use the custom font you specified. Remember to adjust the file paths, font-family names, and font sizes according to your specific setup.


Comments 0

Leave a comment