Makinom - Game Toolkit for Unity
  • Features
  • Showcase
  • Guide
    • Documentation
    • Tutorials
    • Extensions
    • API
  • Makinom 1
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get Makinom

Guide

Getting Started

  • Introduction
  • First Steps
  • Game Starters
  • Components Overview
  • Upgrading a Makinom 1 Project

Editor

  • Makinom Editor Overview
  • Node Editor
  • Asset Sources
  • Editor Section
  • Base/Control Section
  • Game Section
  • UI Section
  • Templates Section

Features

  • Schematics
  • Dialogue Importer
  • Schematic Nodes
  • Formula Nodes
  • Languages
  • Input Keys
  • Audio and Music
  • Game States
  • Pooling
  • Saving Game Objects
  • Scene Objects
  • Save Games
  • Variables
  • Selected Data

Machines

  • Machine Components Overview
  • Animation Machine
  • Animation State Machine
  • Application Machine
  • Auto Machine
  • Collision Machine
  • Global Machine
  • Interaction Machine
  • Render Machine
  • Tagged Machine
  • Template Machine
  • Tick Machine
  • Trigger Machine

UI System

  • UI System Overview
  • UI Layers
  • UI Layouts
  • UI Boxes
  • HUDs
  • Flying Texts
  • Text Codes
  • Unity UI Module
  • HUDs: Content Providers
  • HUDs: Conditions
  • HUDs: Click Actions

Scripting

  • Scripting Overview
  • Code Extensions
  • Custom Save Data
  • Custom Component Save Data
  • Custom Nodes
  • Starting a Schematic

Advanced Topics

  • Build Troubleshooting
  • Performance Optimizations
  • Home
  • Guide
  • Documentation
  • Advanced Topics
  • Build Troubleshooting

Build Troubleshooting

Table of Contents
  • IL2CPP Code Stripping
  • iOS

Having problems building your project or running your built project?

See if your issue is listed here or in the Unity troubleshooting pages for your build target. If you can’t find a solution, please contact me or post it in the community forum.

IL2CPP Code Stripping #

Using the IL2CPP scripting backend will result in Unity’s compiler stripping/removing code it considers unused. While this isn’t a problem in most cases, it can result in errors due to missing code or DLL files in your built game – especially when reflection is used to access code, which is the case for most Makinom plugins.

You can prevent this by adding link.xml files to your project – they can be placed anywhere in your Assets folder (including any subfolder) and you can add multiple to your project. The link.xml file is a simple text file that can define which code should or shouldn’t be stripped.

For example, to prevent anything in Makinom’s DLL files from being stripped, use a link.xml file with the following content:

<linker>
       <assembly fullname="Makinom2" preserve="all"/>
       <assembly fullname="Makinom2.UnityUI" preserve="all"/>
</linker>

This’ll prevent Makinom and the Unity UI module from being stripped. Replace Makinom2.UnityUI with the name of the DLL file of the UI module you’re using if you use a different UI module.

Another example, to prevent a plugin from being stripped:

<linker>
       <assembly fullname="YourPlugin" preserve="all"/>
</linker>

You might notice the pattern – put in the name of the DLL file (without .dll being added).

You can find more information on this topic and the link.xml syntax in the Unity manual.

iOS #

If you’re building your project for iOS, you may run into one of the following problems.

  • You are using Unity iPhone Basic. You are not allowed to remove the Unity splash screen from your game.
    To fix this, change in XCode’s build settings the ‘Compress PNG files’ setting to NO and build the project again.
  • Ran out of trampolines of type 2
    This is caused by use of generics, you have to tell the AOT compiler allocate more trampolines. To fix this, change in Unity’s Player Settings > Other Settings the ‘AOT Compiler Options’ to nimt-trampolines=512. If you’re still receiving a trampoline error, increase the number, e.g. 1024.
  • EXC_BAD_ACCESS
    This can be caused by Unity engine code being stripped when using ‘IL2CPP’ scripting backend. To fix this, disable ‘Strip Engine Code’ in Unity’s PlayerSettings > Other Settings in your iOS player settings.
  • Content is displayed outside of masks
    Go to ‘Edit > Project Settings > Player’ and enable ‘Use 24-bit Depth Buffer’ in the iOS ‘Resolution and Presentation’ settings in Unity.

You can find information on other issues and more detailed instructions on the Unity troubleshooting page.

Editor
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Updated on May 21, 2022
Table of Contents
  • IL2CPP Code Stripping
  • iOS
Sitemap
  • Features
  • Showcase
  • Guide
    • Documentation
    • Tutorials
    • Extensions
    • API
  • Makinom 1 Hub
    • Tutorials
    • Plugins
    • API
  • Support
  • Forum
  • Get Makinom
  • Contact
  • Blog
  • ORK Framework
  • gamingislove.com
Categories
  • Makinom 1 (97)
    • Tutorial (97)
      • 2D Platformer (14)
      • 2D Roguelike (8)
      • Breakout (6)
      • How-to (34)
      • Match 3 (6)
      • Schematic (4)
      • Scripting (6)
      • Space Shooter (11)
      • Survival Shooter (8)
  • News (11)
  • Release (68)
Search

© 2015 Gaming is Love e.U.

Disclosure: This site may contain affiliate links, which means I may receive a commission if you click a link and purchase something that I have recommended. While clicking these links won’t cost you any money, they will help me fund my development projects while recommending great assets!