Caution: This is an evolving document, so its contents may change over time. If you have any questions or concerns around our review guidelines, please submit a request through our contact form.
Figma is committed to supporting shaders within the Figma Community. Developers like you help our community discover new ways to design and explore Figma’s products. We can’t wait to see what you’ve created.
Before a shaders can be listed in the Figma Community directory, it needs to go through our review process.
To make the submission process as seamless as possible, we have created a set of guidelines that we use to evaluate shaders. These guidelines are meant to give you an idea of the criteria we review, but are not exhaustive.
Before you submit
When you are ready to submit, please make sure you have tested your shader and reviewed the requirements below.
Test your shader
Always test to confirm your shader performs correctly in a variety of scenarios, environments, and use cases. At the minimum, make sure to complete the following:
- Test your shader across a range of layer sizes, aspect ratios, and zoom levels.
- Check that the shader renders correctly at every value of each shader setting.
- Confirm your shader on more than one device and browser, including at least one lower-powered device if you have access to one.
- Let an animated shader run for an extended period to confirm it doesn’t degrade over time.
- For shaders that are interactive and respond to mouse input:
- Test with no mouse input to make sure your shader still renders.
- Test with mouse input at the edges of the layer and beyond.
- Test with mouse input that end partway through an interaction.
- Scale and rotate the layer to confirm input still maps to the layer, as expected.
- Place the layer inside a scrolling frame to confirm input still maps to the expected layer.
- Add several instances of your shader on the same page and confirm performance stays smooth while interacting with them.
Review the requirements
Make sure you've addressed Figma's guidelines and your legal and support responsibilities before submitting.
- Review this process and Figma’s shader review guidelines below.
- Establish a way for users to contact you for support. It’s your responsibility to provide support for your shader users. For example, you can provide them with an email address or a link to a website or help center.
- Review and understand your obligations under our Developer Terms, Creator Agreement, Licensing Terms, and Figma Community Terms.
- Consult legal counsel to understand your legal obligations, and prepare necessary documents (like a privacy policy).
What to expect
Our goal is to be thoughtful and reasonably prompt in our review. Approval times vary depending on current volume and the team’s availability.
Figma may test any behavior described in your submission and may ask for a representative file or other information needed to complete the review. If we cannot test the shader as described, we may delay or reject the submission.
Some checks may be completed automatically. A shader that fails an automated check may be rejected without human review. We will contact you through your Figma account email to notify you of our decision. You may revise and resubmit after addressing the feedback.
Making updates
Any material updates to your shader are subject to re-review in accordance with this process. If there are significant changes to the visual appearance or interactions of your shader, you should create a new, separate shader and submit it for review. Figma may also periodically review a shader to ensure it continues to comply with relevant standards as they evolve.
Review guidelines
1. Quality and Performance
We want the shaders available in the Figma Community to be highly usable, reliable, and available. In connection with this, we review for:
Completeness
- Please make sure your shader builds successfully without errors or warnings.
- Your shader should provide a suitable output at its default settings. Most users will apply your shader without adjusting anything, so treat the defaults as the finished result rather than a starting point.
- Use meaningful names for your shader’s exposed settings.
Parameter ranges
- Your shader must render correctly at every value within each parameter range you declare, including at extreme combinations. Set default values that fall naturally within each range rather than at its edges.
- Only expose settings a user would meaningfully want to adjust.
Geometry and resolution independence
- Your shader should scale with the layer rather than with raw pixel coordinates, so that resizing a layer does not break the result.
- Your shader should render correctly when the layer is rotated, masked, or inside a clipped frame, and should respect the layer’s own opacity and blend mode.
Accurate descriptions
- Your shader should operate as described. Please include an accurate description and preview so that users will not be surprised by any hidden behavior.
- The shader’s listing and metadata must accurately represent its functionality and publisher. They must not include misleading claims, irrelevant keywords, or confusing branding.
Cost drivers
- Some shader operations can create significant or unpredictable GPU workloads. To keep rendering performant, we may reject shaders that exceed certain cost limits.
- We may reject shaders with unbounded loops, or loops whose iteration count isn’t known until at runtime.
- Shaders with high fixed iteration counts, high texture sample counts, or dependent texture reads may be rejected.
2. Trust and Safety
We want users to feel confident that shaders available in the Figma Community are safe, secure, and inoffensive. In connection with this, we review for:
Objectionable content
- Content that is fraudulent, false, misleading, deceptive, defamatory, obscene, pornographic, vulgar, offensive, relates to gambling or sweepstakes, or otherwise violates Figma’s Community Terms is not permitted.
Security
- Shaders must be fully self-contained and can only use the shader capabilities provided by Figma.
- Any attempt to exploit the shader runtime, conceal functionality, deceptively manipulate a user’s file, or otherwise compromise Figma or its users may result in immediate removal of the shader. You may also be banned from publishing to the Community.
Accessibility
- We may reject shaders that make the canvas difficult to navigate or inaccessible.
Account requirements
- If you are publishing a shader on behalf of an organization, you are responsible for ensuring you have the appropriate authority to do so.
- You must accurately represent your identity and relationship to the shader. The listing must not imply an official relationship, endorsement, or affiliation with Figma or another party that does not exist.
- Please ensure that your contact information is accurate so users can reach you with questions, support issues, or feedback.
- Authors may not share their Figma account or password information with other users or sell, transfer, or assign ownership or control over shaders without Figma’s approval.
3. Figma and Community Fit
Figma Community is designed to enable shaders that add value to the Figma community and help our customers use Figma more effectively. The review team will use its best judgment to evaluate whether shaders are the right fit for our platform and business goals. In connection with this, we review for:
Community availability
- A shader submitted to the Figma Community should be suitable for the broader Figma Community. If you want to publish a shader that is meant to be used privately, then you should publish to your organization or share it directly with your collaborators.
Business sense
- Your shader may serve the same purpose as already published shaders. Creators are welcome to publish their own visual interpretations.
- Creators should avoid publishing multiple shaders that are visually indistinguishable or only minimally different. We may reject duplicative listings or attempts to manipulate Community discovery.
- We may reject or remove shaders that harm Figma’s business or reputation.
Advertisements
- Shaders may not display or insert advertisements in Figma files and/or to Figma users.
4. Legal
Please review our Developer Terms, Creator Agreement, Licensing Terms, and Figma Community Terms, and consult with a lawyer to ensure you understand your legal obligations when posting shaders on Community. Do not rely on these guidelines or Figma’s review process to make sure you are in compliance with the law. We reserve the right to reject or remove any shaders if we learn they are violating our terms or the law.
If you are using Figma’s brand, you are required to review and comply with the Figma trademark guidelines.
Note: If you have any questions or concerns about our review guidelines, please submit a request through our contact form.