JetBrains / UnrealLink

Apache License 2.0
132 stars 23 forks source link

Cannot install RiderLink plugin #37

Closed andgeno closed 3 years ago

andgeno commented 4 years ago

Hi,

I've been waiting for the latest update to fix all the issues for when trying to install the RiderLink plugin. However, it still does not fix it for me.

This is what I get when I select the Install in Engine option from the Event Log window:

image

Here is what the log file says when the error occurs:

--- EXCEPTION #1/1 [LoggerException]
Message = “Failed to build RiderLink for any available project”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at RiderPlugin.UnrealLink.PluginInstaller.UnrealPluginInstaller.InstallPlugin(InstallDescription installDescription, FileSystemPath uprojectFile, IProperty`1 progressProperty, Double range) in D:\a\UnrealLink\UnrealLink\src\dotnet\RiderPlugin.UnrealLink\PluginInstaller\UnrealPluginInstaller.cs:line 237
     at RiderPlugin.UnrealLink.PluginInstaller.UnrealPluginInstaller.InstallPluginInEngine(UnrealPluginInstallInfo unrealPluginInstallInfo, IProperty`1 progress) in D:\a\UnrealLink\UnrealLink\src\dotnet\RiderPlugin.UnrealLink\PluginInstaller\UnrealPluginInstaller.cs:line 185
     at RiderPlugin.UnrealLink.PluginInstaller.UnrealPluginInstaller.InstallPluginInEngineIfRequired(UnrealPluginInstallInfo unrealPluginInstallInfo, IProperty`1 progress, Boolean forceInstall) in D:\a\UnrealLink\UnrealLink\src\dotnet\RiderPlugin.UnrealLink\PluginInstaller\UnrealPluginInstaller.cs:line 118
     at RiderPlugin.UnrealLink.PluginInstaller.UnrealPluginInstaller.<>c__DisplayClass30_1.<HandleManualInstallPlugin>b__3() in D:\a\UnrealLink\UnrealLink\src\dotnet\RiderPlugin.UnrealLink\PluginInstaller\UnrealPluginInstaller.cs:line 349
     at System.Threading.Tasks.Task.Execute()
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
     at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
     at JetBrains.Application.Threading.Tasks.Scheduler.JetScheduler.ExecuteTask(Task task)
     at JetBrains.Application.Threading.Tasks.Scheduler.JetSchedulerThread.EnqueueNextTask()
     at JetBrains.Application.Threading.Tasks.Scheduler.JetSchedulerThread.ThreadPoolProc()
     at JetBrains.Util.Reflection.CallStackAnnotation.InvokeAnnotated(String classNameOfNewFrame, String methodNameOfNewFrame, Action actionToAnnotate)
     at JetBrains.Util.Reflection.CallStackAnnotation.CatchAnnotatedInvocation[TClassOfNewFrame](String methodNameOfNewFrame, Action actionToAnnotate)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at System.Threading.ThreadHelper.ThreadStart()
”

    at com.jetbrains.rdclient.protocol.components.RdClientProtocolComponent$2.invoke(RdClientProtocolComponent.kt:49)
    at com.jetbrains.rdclient.protocol.components.RdClientProtocolComponent$2.invoke(RdClientProtocolComponent.kt:24)
    at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:30)
    at com.jetbrains.rd.framework.impl.RdSignal.onWireReceived(RdSignal.kt:39)
    at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:31)
    at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:11)
    at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
    at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:30)
    at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:11)
    at com.jetbrains.rdclient.protocol.RdDispatcher.a(RdDispatcher.kt:96)
    at com.jetbrains.rdclient.protocol.RdDispatcher.access$flushAll(RdDispatcher.kt:18)
    at com.jetbrains.rdclient.protocol.RdDispatcher$flushAllRunnable$1.run(RdDispatcher.kt:23)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:322)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
    at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:188)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
]

This is my setup:

DecoyRS commented 4 years ago

Hi @andgeno! Would be really nice if you could share the whole folder with logs, plus try this one:

  1. Find RiderLink.zip in Rider for Unreal Engine installation folder; example: if Rider is installed in D:\JetBrains\Rider for Unreal Engine 2020.2, RiderLink.zip will be at D:\JetBrains\Rider for Unreal Engine 2020.2\plugins\UnrealLink\EditorPlugin\RiderLink.zip. To find Rider installation folder, please use the menuHelp | Diagnostic Tools | Special Files and Folders or Help | Diagnostic Tools | Browse special paths....
  2. Unzip RiderLink.zip to any place outside of Unreal Engine installation or Game project example C:/tmp/RiderLink
  3. Run from cmd: {EngineRoot}/Engine/Build/BatchFiles/RunUAT.bat BuildPlugin -Plugin="C:/tmp/RiderLink/RiderLink.uplugin" -Package="C:/tmp/RiderLink_Package" -Rocket
  4. Check if it builds or not. 4.1 If it doesn't build, send build logs here 4.2 If it builds fine, try to place plugin into {GameProject}/Plugins/Developer/RiderLink folder and try to run project
andgeno commented 4 years ago

Hi, I was able to find the problem by running the command you provided in a CMD console.

There was a compile error caused by a Marketplace addon. So I removed the plugin temporarily and it fixed the issues with Rider. :-)

It would be useful to get the whole console log of the compile process printed out somewhere so users don't have to run that compile command manually.

marshal-it commented 4 years ago

after Run cmd also have some errors

Running AutomationTool... Parsing command line: BuildPlugin -Plugin=C:/tmp/RiderLink/RiderLink.uplugin -Package=C:/tmp/RiderLink_Package -Rocke t -compile Dependencies are out of date. Compiling scripts.... C: \ Program Files \ Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Com (x86) mon. The CurrentVersion. The targets (2084, 5) : warning MSB3274:Failed to parse the main reference "F: \ PerforceProject \ MarvelMain \ UnrealEngine \ Engine \ Binaries \ DotNET \ AutomationUtils Automation. DLL", because it is against ". NETFramework, Version = v4.6.2 "framework.This framework Version is higher than the current target framework ".NETFramework,Version=v4.6.1 ".[F:\PerforceProject\MarvelMain\UnrealEngine\Engine\Source\Programs\AutomationTool\IOS\IOS.Automation.csproj]

jshaffer-wonderstorm commented 4 years ago

I'm having this issue too. @DecoyRS I tried your steps but hit a build error.

ParallelExecutor.ExecuteActions:   C:/temp/RiderLink_Package/HostProject/Plugins/RiderLink/Source/RiderBlueprintExtension/Private/BlueprintProvider.cpp(42): error C2065: 'path': undeclared identifier
ParallelExecutor.ExecuteActions:   C:/temp/RiderLink_Package/HostProject/Plugins/RiderLink/Source/RiderBlueprintExtension/Private/BlueprintProvider.cpp(42): error C2661: 'FMessageEndpoint::Publish': no overloaded function takes 2 arguments

I've attached the build log. Log.txt

Here is my setup:

Unreal 4.23.1

Rider for Unreal Engine 2020.2.1
Build #RDCPPP-202.6397.274, built on August 31, 2020
Licensed to Jeff Shaffer
Subscription is active until March 1, 2021
Runtime version: 11.0.7+10-b944.20 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
.NET Framework 4.0.30319.42000
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1450M
Cores: 8
Registry: debugger.new.debug.tool.window.view=true, ide.tree.horizontal.default.autoscrolling=false, performance.watcher.sampling.interval.ms=200, ide.borderless.tab.caption.in.title=false, ide.tooltip.showAllSeverities=true, show.diff.preview.as.editor.tab=true, light.edit.file.open.enabled=false, performance.watcher.unresponsive.interval.ms=1000, search.everywhere.settings=true, show.diff.preview.as.editor.tab.with.single.click=true, parameter.info.max.visible.rows=10, ide.win.file.chooser.native=true, debugger.watches.in.variables=false, vcs.log.show.diff.preview.as.editor.tab=true, search.everywhere.pattern.checking=false, ide.tooltip.initialDelay=0, ide.require.transaction.for.model.changes=false, ide.debug.in.title=true, rdclient.asyncActions=false
Non-Bundled Plugins: com.microsoft.vso.idea, PythonCore, aws.toolkit

Any other steps I can try? Thanks!

jshaffer-wonderstorm commented 4 years ago

I fixed the compile error by changing line 42 of BlueprintProvider.cpp from: messageEndpoint->Publish(new FAssetEditorRequestOpenAsset(path), EMessageScope::Process); to: messageEndpoint->Publish(new FAssetEditorRequestOpenAsset(AssetPathName), EMessageScope::Process);

Looks like the variable was renamed and never compiled against older versions of Unreal.

#if ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION <= 23
    FAssetEditorManager::Get();
    messageEndpoint->Publish(new FAssetEditorRequestOpenAsset(AssetPathName), EMessageScope::Process);
#else
DecoyRS commented 3 years ago

So far, most of the issues with installing RiderLink has been solved, and latest version of plugin (coming with R4UE 2021.1) will have a dedicated panel for logs of installing RiderLink plugin, showing all the problems in convenient manner. There's still one issue that we're investigating, but it'll have a separate thread as "cannot install RiderLink plugin" renders to be too broad of a topic.