Search Issue Tracker

Fixed in 1.5.1



Found in [Package]



Issue ID




[Bolt] RenamedFrom attribute does not function correctly on array references to a renamed type

Package: Bolt


*Reproducible on:*
* Unity version: 2019.4.17f1,2020.1.17f1, 2020.2.0f1, 2021.1.0a10
* Bolt version: 1.4.13

*Reproduction steps:*
1. Open the attached user's project ""
2. Enter Play Mode and observe the Console output
3. In the Hierarchy window select "SavedFlowMachine" GameObject and open it's Flow Graph
4. in the Project Window open "Dependency.cs"
5. Change the namespace from "Company.Game" to "Company.Library"
6. Add \[RenamedFrom("Company.Game.Dependency")] attribute above the Dependency class definition and "using Ludiq;"
7. Add "using Company.Library;" line of "Depender.cs" to fix the reference to Dependency
8. Update unit options for Bolt through "Tools>Bolt>Update Unit Options"
9. Repeat step 3 and enter Play Mode

*Actual result:*
* The "Array" version of InvokeOnMultipleDependencies unit appears in error red, and Bolt produces a warning in the console about being unable to resolve "Company.Game.Dependency\[]". Connected units appear yellow since they are connected to a broken unit, though the units themselves are not broken.

*Expected result:*
* The "SavedFlowMachine" Graph appears without errors, and the Console outputs the same as it did in step 2

* In 2021.1.0a10 the output is partial
* One of the warning outputted:
Failed to define InvokeMember#91f67...:
System.MissingMemberException: No matching method found: 'Depender.InvokeOnMultipleDependencies ()'

Void InvokeOnMultipleDependencies(Company.Library.Dependency\[])
Void InvokeOnMultipleDependencies(System.Collections.Generic.List`1\[Company.Library.Dependency])
at Ludiq.Member.ReflectMethod (System.Collections.Generic.IEnumerable`1\[T] candidates) \[0x000b8] in <9cfd1b20802e4649a8c8cf705d81447c>:0
at Ludiq.Member.Reflect () \[0x001ef] in <9cfd1b20802e4649a8c8cf705d81447c>:0
at Ludiq.Member.EnsureReflected () \[0x00008] in <9cfd1b20802e4649a8c8cf705d81447c>:0
at Bolt.MemberUnit.Definition () \[0x00006] in <976766e7b99043bda58e171223812aab>:0
at Bolt.InvokeMember.Definition () \[0x00000] in <976766e7b99043bda58e171223812aab>:0
at Bolt.Unit.Define () \[0x00015] in <976766e7b99043bda58e171223812aab>:0

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.