Jump to content
  • Advertisement
  • 04/10/19 05:06 PM

    Unity Post-mortem: Upgrading FPS Sample with the Visual Effect Graph


    • Posted By khawk

    Unity has shared a post-mortem discussing the approach they took to convert the FPS Sample from using Particle System to the Visual Effect Graph to take advantage of HDRP.

    The post-mortem walks through the entire process of identifying references to Particle Systems in prefabs and code, replacing the instances with placeholders, and filling the effects back in using the Visual Effect Graph.

    Here's a brief sample:


    Optimizing a shooting system with VFX Graph

    Shooting systems rely on many effects whose performance depends on the pace of the game, the number of players, the playing area topology, and the current game’s state. This implies that many objects can be spawned around (for instance: impacts) and will fill the scene graph with many draw calls.


    The FPS implementation was made using a pool of 64 impacts, managed by Entity-Component Systems using a recycling system: 1 Particle System per impact + 1 Audio Source.

    The main drawback of this system was that every instance of an impact would lead to a draw call per-system. A constraint that requires using only a few draw calls per effect would, in a worst-case scenario, lead to N times 64 draw calls (N being the number of particle systems that compose each impact), for each kind of impact.

    Take a look at the blog post here.

      Report Story

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!