@magique - in the code that calls those functions, are you getting references to IAttributeSource and IInventorySource, or to concrete implementations? I'm not really familiar with AOT, and I've never even built a project for an AOT platform, so I'm no expert. That being said, on the Scripting Restrictions page, the example under "Generic Virtual Methods" looks like the same type of scenario. So if you're getting the references using GetComponent<IAttributeSource>(), try GetComponent<BasicAttributes>() instead (assuming that you're using BasicAttributes). EDIT: it is also vital that the variable, field, or property holding the reference is declared as the concrete type and not the interface. @Tryz do you have any experience with this?