PixiJS provides a comprehensive collection of utility functions for browser detection, device capabilities, data manipulation, and canvas operations. These utilities are designed to help with common tasks in game and application development.
Check browser capabilities and features:
import {
isWebGLSupported,
isWebGPUSupported,
isSafari,
isMobile
} from 'pixi.js';
// Graphics API support
if (isWebGLSupported()) {
console.log('WebGL is available');
}
if (await isWebGPUSupported()) {
console.log('WebGPU is available');
}
// Browser and device detection
if (isSafari()) {
console.log('Running in Safari');
}
if (isMobile.any) {
console.log('Running on mobile device');
}
Handle data structures and arrays efficiently:
import { removeItems, uid, clean } from 'pixi.js';
// Generate unique IDs
const id = uid(); // "1"
const id2 = uid(); // "2"
// Array manipulation
const array = [1, 2, 3, 4, 5];
removeItems(array, 1, 2); // Removes 2 items starting at index 1
console.log(array); // [1, 4, 5]
// Clean object properties
const obj = { a: null, b: undefined, c: 'valid' };
clean(obj); // Removes null/undefined properties
console.log(obj); // { c: 'valid' }
Handle file and URL paths:
import { path } from 'pixi.js';
// Join path segments
const fullPath = path.join('assets', 'images', 'sprite.png');
// Get file information
const ext = path.extname('image.png'); // '.png'
const name = path.basename('image.png'); // 'image.png'
const dir = path.dirname('assets/image.png'); // 'assets'
uid()
for generating unique identifiersisMobile
For detailed implementation requirements and advanced usage, refer to the API documentation of individual utilities.