I tried these two blocks of code in WebGL, but both throw an exception (they both work perfectly fine on desktop). Is the source code for the webGL demo available anywhere? Maybe I could copy the code from there.
-
SFB.ExtensionFilter[] filters = new SFB.ExtensionFilter[]
{
new SFB.ExtensionFilter("Images",new string[] {"png","jpg"})
};
s = SFB.StandaloneFileBrowser.OpenFilePanel("Open Image", "", filters, false);
-
string path = SFB.StandaloneFileBrowser.SaveFilePanel("Save your Form", "", "Form", "png");
Both throw this error:
Uncaught Assertion failed: klass->initialized, at: C:\Program Files\Unity\Editor\Data\il2cpp\libil2cpp\vm/Class.h,97,GetInterfaceInvokeDataFromVTable at Error
at jsStackTrace (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:1325:12)
at stackTrace (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:1339:11)
at ___assert_fail (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:14364:207)
at ___assert_fail (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :1298:41)
at __ZN21InterfaceFuncInvoker4IP24StringU5BU5D_t1642385972P8String_tS3_P33ExtensionFilterU5BU5D_t2751301106bE6InvokeEjP11Il2CppClassP12Il2CppObjectS3_S3_S5_b [InterfaceFuncInvoker4<StringU5BU5D_t1642385972*, String_t*, String_t*, ExtensionFilterU5BU5D_t2751301106*, bool>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*, String_t*, String_t*, ExtensionFilterU5BU5D_t2751301106*, bool)] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :316116:59)
at _StandaloneFileBrowser_OpenFilePanel_m846962723 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :440825:9)
at Array._ImagePicker_OnButtonDown_m3895149047 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :68547:15)
at mftCall_vii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :599113:37)
at _UnityAction_Invoke_m2683711928 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :437561:116)
at _InvokableCall_Invoke_m608604614 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :598077:80)
at _UnityEvent_Invoke_m4265454736 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :393507:10)
at _Button_Press_m73991540 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :490240:4)
at Array._Button_OnPointerClick_m2524861687 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :624943:36)
at mftCall_viii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :585721:38)
at _ZN23InterfaceActionInvoker1IP28PointerEventData_t1599784723E6InvokeEjP11Il2CppClassP12Il2CppObjectS1 [InterfaceActionInvoker1<PointerEventData_t1599784723*>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*, PointerEventData_t1599784723*)] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :332877:2)
at Array._ExecuteEvents_Execute_m2476343313 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :461746:2)
at mftCall_viiii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :575185:39)
at _EventFunction_1_Invoke_m2378823590_gshared (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :429209:4)
at Array.asm._EventFunction_1_Invoke_m2378823590_gshared (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :743930:59)
at Object.ftCall_viiii [as dynCall_viiii] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :4268:49)
at invoke_viiii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :4255:27)
at _ExecuteEvents_Execute_TisRuntimeObject_m4168308247_gshared (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :123093:6)
at _StandaloneInputModule_ProcessMousePress_m3394019419 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :108106:4)
at _StandaloneInputModule_ProcessMouseEvent_m3217430289 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :233387:2)
at Array._StandaloneInputModule_Process_m2811362425 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :417288:87)
at mftCall_vii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :599113:37)
at Array._EventSystem_Update_m3937231239 (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :221061:5)
at mftCall_vii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :599113:37)
at _Z31RuntimeInvoker_Void_t1841601450PFvvEPK10MethodInfoPvPS4 [RuntimeInvoker_Void_t1841601450(void ()(), MethodInfo const, void*, void**)] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :618793:2)
at Array.asm._Z31RuntimeInvoker_Void_t1841601450PFvvEPK10MethodInfoPvPS4 [RuntimeInvoker_Void_t1841601450(void ()(), MethodInfo const, void*, void**)] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :771236:77)
at Object.ftCall_iiiii [as dynCall_iiiii] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :3877:49)
at invoke_iiiii (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :3864:34)
at __ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException [il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)] (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :439869:8)
at _il2cpp_runtime_invoke (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :570274:9)
at asm._il2cpp_runtime_invoke (eval at loadDynamicLibrary (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:766:19), :753032:38)
at _il2cpp_runtime_invoke (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:11749:42)
at __Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb [scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2696456:8)
at __ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb [ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2083494:7)
at __ZN13MonoBehaviour16CallUpdateMethodEi [MonoBehaviour::CallUpdateMethod(int)] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:1810363:4)
at __ZN13MonoBehaviour6UpdateEv [MonoBehaviour::Update()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2935647:2)
at mftCall_vi (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2866617:36)
at __ZN20BaseBehaviourManager12CommonUpdateI16BehaviourManagerEEvv [void BaseBehaviourManager::CommonUpdate<BehaviourManager>()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:1602846:5)
at __ZN16BehaviourManager6UpdateEv [BehaviourManager::Update()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2688751:2)
at mftCall_vi (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2866617:36)
at __ZZ23InitPlayerLoopCallbacksvEN41UpdateScriptRunBehaviourUpdateRegistrator7ForwardEv [InitPlayerLoopCallbacks()::UpdateScriptRunBehaviourUpdateRegistrator::Forward()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2745636:2)
at mftCall_v (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2888261:35)
at __Z10PlayerLoopv [PlayerLoop()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:810476:14)
at __ZL8MainLoopv [MainLoop()] (blob:http://localhost:51238/f787593b-8df2-4bda-acfc-25e82f2ed536:2135425:3)
at Array.UnityLoader.6631f02b50cc31891e3c4b88d89586c2.asm.__ZL8MainLoopv [MainLoop()] (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:209101:29)
at Object.ftCall_v [as dynCall_v] (blob:http://localhost:51238/a7176586-2be9-4aa9-95fd-992b49aebc89:30813:28)
Yes, default usage does not work on webgl. See canvas samples