To customize allocator settings you can either edit the configurable values through the Unity Editor or supply them as command line arguments.
For more information on how the values affect each allocator, refer to Native memory allocator examples.
You can use command line arguments to set the size of each allocator. To find the name of the allocator parameters you want to change, check the list of allocator settings the Editor and players print when they start up.
For example, to change the block size of the main heap allocators, use the following:
-memorysetup-main-allocator-block-size=<new_value>
For a full list of command line arguments, refer to Native memory allocators reference.
To ensure your settings improve performance, profile your application before and after making changes. For more information, refer to the Profiler overview page.
You can also use the Profiler Analyzer package to measure changes. The ProfilerA window that helps you to optimize your game. It shows how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating, or in your game logic. More info
See in Glossary Analyzer enables you to compare multiple frames, and two different Profiler captures to each other. Comparing two captures is useful for highlighting differences in allocator performance between two different runs with different settings.
You can also check the memory usage reports, which are available in the log when you close the Player or Editor. To find your log files, follow the instructions on the log files page.
Unity stores allocator settings in MemorySettings.asset
and these settings are applied during the build process. This means new settings take effect at every build.
In the Editor, these settings are stored in the ProjectSettings
folder and are updated every time Unity imports or changes MemorySettings.asset
. New values for the Editor only take effect on the next Editor startup.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.