コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】iOS の IL2CPP ビルド時に不要な属性を除外してアプリの容量を減らすことができる「Unity3D.UselessAttributeStripper」紹介

はじめに

「Unity3D.UselessAttributeStripper」を使用することで
iOS の IL2CPP ビルド時に不要な属性を除外して
アプリの容量を減らすことができるようになります

Unity プロジェクトによっては 18MB もの容量を減らすことも可能です

使い方

ツールの入手

  1. 下記のページにアクセスします
    https://github.com/SaladLab/Unity3D.UselessAttributeStripper/releases
  2. 「UselessAttributeStripper.zip」を選択します
  3. ダウンロードした「UselessAttributeStripper.zip」を展開します

ツールの使用

Mac の場合

# Unity がデフォルトディレクトリにインストールされている場合
sudo python setup.py install    

# Unity が「Application/Unity531」にインストールされている場合
sudo python setup.py install /Application/Unity531

Windows の場合

# Unity がデフォルトディレクトリにインストールされている場合
setup.py install    

# Unity が「C:\Program Files\Unity531」にインストールされている場合
setup.py install "C:\Program Files\Unity531"

拡張

https://github.com/SaladLab/Unity3D.UselessAttributeStripper/blob/master/src/UselessAttributeStripper/BuiltinConfiguration.cs

「Unity3D.UselessAttributeStripper」は、デフォルトでは
上記のスクリプトに記載されている属性を除外してアプリ容量を減らします

追加で他の属性を除外したい場合は、
「Assets」フォルダに「strip-attribute.xml」を作成して
下記のように除外したい属性を記載します

<strip-attribute>
  <type fullname="ProtoBuf.ProtoContractAttribute"/>
  <type fullname="ProtoBuf.ProtoMemberAttribute"/>
  <type fullname="GameCommon.Data.EidCategoryAttribute"/>
  <type fullname="GameCommon.Data.RefAttribute"/>
</strip-attribute>

関連記事