Update
calls InnocentLookingMethod
which calls BusyMethod
which calls GetComponent
, then InnocentLookingMethod
will be marked as an expensive method.
GetComponent
in Update
is to do it in Start
and cache the result. But we wouldn’t want to mark Start
as performance critical.
IPreprocessBuild
and then use the Generate Code -> Unity Event Functions dialog to add the missing methods
UsageInspectionSuppressor
. Essentially, if method is IPreprocessBuild.OnPostprocessBuild
or property is IOrderedCallback.callbackOrder
, then mark as in use
./build.ps1
/.sh
first
Hey! I've got a bit of a weird issue and I'm stumped as to how to fix it:
I'm using Unity 2018.4.3 and Rider 2019.1.3. In my project, I have Firebase integrated. Firebase uses https://github.com/parse-community/Parse-SDK-dotNET to add newer .NET functionality (like Tasks) to older .NET standards. Somehow, Firebase's SDK takes care of the naming clashes when using the .NET 4.x scripting runtime, as I am in Unity 2018.4.3.
In Unity the project compiles nicely, but in Rider I get an error when awaiting FirebaseApp.CheckAndFixDependenciesAsync (a method returning Task<Firebase.DependencyStatus> (extra sidenote: the Task class returned is from within Parse-SDK-dotNET, not the standard .NET runtime)):
'Type 'System.Threading.Tasks.Task<Firebase.DependencyStatus>' is not awaitable.'
The code functions as it's supposed to, so it seems like Rider doesn't understand what's going on between the different assemblies. If I try the stripped down code:
public Task<DependencyStatus> InitFirebaseAsync()
{
return FirebaseApp.CheckAndFixDependenciesAsync();
}
I get the error:
Cannot convert expression type 'System.Threading.Tasks.Task<Firebase.DependencyStatus> [Firebase.App, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]' to return type 'System.Threading.Tasks.Task<Firebase.DependencyStatus> [netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]'
Which points to a clash between the two assemblies. How can I get Rider to figure out the difference?
Thanks in advance!