Hello, Creators!
We’re thrilled to announce a new feature that gives you much more control and efficiency over your particle animations: Custom Flipbook Layouts! This was a limitation when we originally introduced FlipBooks and has been a frequent community request since. ![]()

Here’s the .rblx file from the video above, demonstrating the use of the new custom flipbook layout:
particle-custom-flipbook-demo.rbxl (56.4 KB)
Why Use Custom Layouts?
Until now, ParticleEmitter flipbooks were restricted to square grid layouts (like 2x2, 4x4, and 8x8) and square texture size (like 256x256, 512x512 and 1024x1024). This often meant you had to create textures with empty, unused space just to fit the required format.
With custom layouts, you are no longer limited to squares. This change brings two major benefits:
- Creator Flexibility: You can now use non-square or rectangular sprite sheets. If your animation sequence fits perfectly in a 16x4 grid, you can now set that up directly without wasting texture space.
- Better Texture Optimization: This feature allows for much more efficient use of your texture memory. As we move towards supporting larger texture sizes, you’ll be able to pack significantly more frames into a single image. For example, a 4096x4096 texture can now support a 32x8 grid of 128x512 frames, which was previously not possible.
How It Works
We’ve introduced a new enum and two new properties to ParticleEmitter to make this possible:
- A new
FlipbookLayoutoption:Enum.ParticleFlipbookLayout.Custom - Two new integer properties that become enabled when you select the
Customlayout:
FlipbookSizeX: The number of columns in your grid (from 1 to 64).FlipbookSizeY: The number of rows in your grid (from 1 to 64).
When FlipbookLayout is set to any of the standard square options (e.g., Grid8x8), the engine will ignore FlipbookSizeX and FlipbookSizeY. They only take effect when the layout is set to Custom.
Examples in Action
Consider, for instance, a ball animating along a horizontal elliptical path.

If you previously had to use a 4x4 grid (see example A), which resulted in a less-than-ideal aspect ratio for the frames and potentially wasted space, you can now optimize. By leveraging the aspect ratio, you could re-layout your sprite sheet to a 4x8 grid (see example B), packing more frames into the same texture area while maintaining clearer motion.
You’ll also notice that the square texture size requirement has been removed
. Additionally, you can now choose to keep 4x4 frames and reduce the vertical resolution of the texture (see example C).
| Example A | Example B | Example C |
|---|---|---|
| Image: 512x512 Layout: Grid4x4 |
Image: 512x512 Layout: Custom 4x8 |
Image: 512x256 Layout: Grid4x4 |
A custom layout can be configured with just a few lines of code:
local particleEmitter = script.Parent.ParticleEmitter
-- Set the layout mode to Custom to unlock the size properties
particleEmitter.FlipbookLayout = Enum.ParticleFlipbookLayout.Custom
-- Define the grid dimensions to match your sprite sheet
particleEmitter.FlipbookSizeX = 4 -- 4 columns
particleEmitter.FlipbookSizeY = 8 -- 8 rows
This tells the particle system to divide your texture into a 4x8 grid and play the animation frame by frame.
FAQ
Will this change break my existing particle effects?
No, this update is backward compatible. Your existing particles using the fixed grid layouts (Grid2x2, Grid4x4, Grid8x8) will continue to work exactly as they did before.
However, there is a very specific scenario which could change the appearance of existing particle emitters. If you previously had a FlipbookLayout set to something other than None, but your texture resolution was incompatible with the flipbook requirement (e.g., a non-power-of-two texture when only power-of-two was supported), the flipbook setting would have been effectively ignored. With this new update, which supports non-power-of-two textures, this previously unused flipbook setting may now become active, potentially changing the appearance of existing particle emitters. We recommend reviewing any particle emitters that fit this description.
What are the limits for custom grid dimensions?
You can set FlipbookSizeX and FlipbookSizeY to any integer value between 1 and 64, allowing for a wide range of custom layouts.
Does this have any performance impact?
This feature is designed to improve performance by allowing for better texture memory optimization. By packing your frames more efficiently, you can reduce the overall memory footprint of your particle effects with no negative impact on runtime performance.
We’re excited to hand this over to you. Please feel free to share your feedback and show us the amazing effects you build with this new level of control! ![]()
Happy creating!



