Skip to content

Game Studio crash when copying a collider #2823

Open
@w0wca7a

Description

@w0wca7a

Release Type: GitHub

Version: master

Platform(s): Windows 10 19045.5965

Describe the bug
It seems copying and replacing colliders in Game Studio is impossible

To Reproduce
Steps to reproduce the behavior:
In Game Studio

  1. Add Entity to Scene
  2. Add model component and model to Entity
  3. Add BepuPhysics Character component to Entity
  4. Add two capsule colliders to Compound colliders list
  5. Configure first collider then copy Item0 and paste or replace to Item1

Expected behavior
Successful copying configured collider to another one

Log and callstacks
Exception: MissingMethodException: Cannot dynamically create an instance of type 'System.Collections.Generic.IList`1[Stride.BepuPhysics.Definitions.Colliders.ColliderBase]'. Reason: Cannot create an instance of an interface. at System.RuntimeType.ActivatorCache..ctor(RuntimeType rt) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions) at Stride.Core.Assets.Editor.ViewModel.CopyPasteProcessors.AssetPropertyPasteProcessor.ConvertForCollection(CollectionDescriptor collectionDescriptor, Object& data) in D:\repos\stride\sources\editor\Stride.Core.Assets.Editor\ViewModel\CopyPasteProcessors\AssetPropertyPasteProcessor.cs:line 581 at Stride.Core.Assets.Editor.ViewModel.CopyPasteProcessors.AssetPropertyPasteProcessor.ProcessDeserializedData(AssetPropertyGraphContainer graphContainer, Object targetRootObject, Type targetMemberType, Object& data, Boolean isRootDataObjectReference, Nullable`1 sourceId, YamlAssetMetadata`1 overrides, YamlAssetPath basePath) in D:\repos\stride\sources\editor\Stride.Core.Assets.Editor\ViewModel\CopyPasteProcessors\AssetPropertyPasteProcessor.cs:line 104 at Stride.Core.Assets.Editor.Services.CopyPasteService.DeserializeCopiedData(String text, Object targetObject, Type targetMemberType) in D:\repos\stride\sources\editor\Stride.Core.Assets.Editor\Services\CopyPaste\CopyPasteService.cs:line 214 at Stride.Core.Assets.Editor.Quantum.NodePresenters.Commands.PastePropertyCommandBase.DoPaste(INodePresenter nodePresenter, Boolean replace) in D:\repos\stride\sources\editor\Stride.Core.Assets.Editor\Quantum\NodePresenters\Commands\PastePropertyCommandBase.cs:line 66 at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at Stride.GameStudio.Program.Main() in D:\repos\stride\sources\editor\Stride.GameStudio\Program.cs:line 148

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions