Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ManagedStrippingLevel

Defines how aggressively Unity strips unused managed (C#) code.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Enum
  • Namespace: UnityEditor
  • Assembly: UnityEditor.CoreModule
public enum ManagedStrippingLevel

Remarks

When Unity builds your game or application it can strip unused code from the managed dynamically linked libraries used in the project. Stripping code can make the resulting executable significantly smaller, but can sometimes mistakenly remove code that is actually used. The ManagedStrippingLevel Enum defines the options you can use when specifying how aggressively Unity should remove unused code.

Fields

Value

Description

DisabledDo not strip any code.
HighUnityLinker will strip as much as possible. This will further reduce code size beyond what Medium can achieve. However, this additional reduction may come with tradeoffs. Possible side effects may include, managed code debugging of some methods may no longer work. You may need to maintain a custom link.xml file, and some reflection code paths may not behave the same.
LowRemove unreachable managed code to reduce build size and Mono/IL2CPP build times.
MediumRun UnityLinker in a less conservative mode than Low. This will further reduce code size beyond what Low can achieve. However, this additional reduction may come with tradeoffs. Possible side effects may include, having to maintain a custom link.xml file, and some reflection code paths may not behave the same.
MinimalThe class libraries, UnityEngine, and Windows Runtime assemblies will be stripped. All other assemblies are copied.