Inherits: Reference < Object

Category: Core

Brief Description

A class for generating pseudo-random numbers.


int seed


float randf ( )
float randf_range ( float from, float to )
float randfn ( float mean=0.0, float deviation=1.0 )
int randi ( )
int randi_range ( int from, int to )
void randomize ( )


RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32. The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.

Property Descriptions

Setter set_seed(value)
Getter get_seed()

The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.

Note: The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they’re sourced externally.

Method Descriptions

Generates pseudo-random float between „0.0“ and „1.0“, inclusive.

Generates pseudo-random float between from and to, inclusive.

Generates normally(gaussian) distributed pseudo-random number, using Box-Muller transform with the specified mean and a standard deviation.

  • int randi ( )

Generates pseudo-random 32-bit unsigned integer between „0“ and „4294967295“, inclusive.

Generates pseudo-random 32-bit signed integer between from and to (inclusive).

  • void randomize ( )

Setups a time-based seed to generator.