For problem 1, the issue is that the Item Info set to that Item View does not come from an inventory. The item views are directly set from the Recipe. Usually I set the Inventory directly but it seems that that's not the case for Recipes.
Until I find a better solution you can replace the InventoryAmountItemView by this:
C#:
/// <summary>
/// An Item View component that compares the item amount with an amount from an inventory.
/// </summary>
public class InventoryAmountItemView : ItemViewModule, IInventoryDependent
{
[Tooltip("The amount text.")]
[SerializeField] protected Text m_AmountText;
[Tooltip("The ID of the Inventory to get the amount from.")]
[SerializeField] protected uint m_InventoryID = 1;
[Tooltip("Use the Inventory ID to get the Inventory or get it from the Item Info.")]
[SerializeField] protected bool m_UseInventoryID = false;
public Inventory Inventory { get; set; }
/// <summary>
/// Set the value.
/// </summary>
/// <param name="info">The item info.</param>
public override void SetValue(ItemInfo info)
{
if (Inventory == null) {
if (m_UseInventoryID) {
Inventory = InventorySystemManager.GetInventoryIdentifier(m_InventoryID)?.Inventory;
} else {
Inventory = info.Inventory as Inventory;
}
}
if (Inventory == null) {
Debug.LogWarning("Inventory is missing from component.", gameObject);
Clear();
return;
}
var inventoryAmount = Inventory.GetItemAmount(info.Item.ItemDefinition, false, false);
m_AmountText.text = $"{inventoryAmount}";
}
/// <summary>
/// Clear the value.
/// </summary>
public override void Clear()
{
m_AmountText.text = "";
}
}
That will allow you to specify the Inventory you want to use if the component can't find the Inventory by itself.
Simply tick the UseInventoryID option and make sure the ID matches your Inventory Identifier ID.
If I understand correctly in problem 2 you would like to display the Icon the items already in the hotbar correct?
I'm afraid that's not possible right now with the current Assign Hotbar Item Action.
I'm planning to implement a solution for that in the next major update. I can bump up the priority for it and send you a solution once it is implemented.
In the meantime you can show the item name instead of the index number by using this option:
View attachment 5931