title: Unity is not showing public methods in the event field
body: <p>I have a class in Unity 2017 that only shows some of the public methods in the inspector.</p>
  
  <pre class="lang-c# prettyprint-override"><code>using System.Collections.Generic;
  using UnityEngine;
  
  public class Inventory : MonoBehaviour 
  {
  
      List&lt;ShipPart&gt; _inventory;
      int currentInvPosition = 0;
      bool invExists = false;
  
      // Use this for initialization
      void Start () {
          CreateInventory(0, 0);
      }
  
      // Show all inventory parts as gameobjects
      public void CreateInventory(int quality, int part) 
      {
          ...
      }
  
      void DestroyInventory()
      {
          ...
      }
  
      public void ScrollInvLeft()
      {
          ...
      }
  
      public void ScrollInvRight()
      {
          ...
      }
  
      void UpdateInv(float offset)
      {
          ...
      }
  
      public void AddInventoryItem(ShipPart newShipPart) 
      {
          ... 
      }
  
      public void RemoveInventoryItem(ShipPart oldShipPart) 
      {
          ...
      }
  
      public void Test1(){}
      public void Test2(int i){}
  
  }
  </code></pre>
  
  <p>I thought it might be because the invisible methods have parameters, so I added the last two methods. However they are visible in the inspector!</p>
  
  <p>I am trying to call the methods from a dropdown UI element, but have also tested from a button and that cant see them either.</p>
  
  <p><a href="https://i.stack.imgur.com/P1kDM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/P1kDM.png" alt="enter image description here"></a>  </p>
  
  <p>What am I doing wrong? </p>