Hello,
Since Unity WP/W8 devs seem very active on these forums, I thought I’d check first if this is on your radar. My game is working correctly on other platforms (iOS, Android, OS X) but on WP8 it does launch correctly, though when I go back to the home screen (hitting the Windows button) and then try to go back to the game and resume it (Back button), it crashes before displaying anything.
It doesn’t seem my managed code gets hit anytime: setting a breakpoint on “OnApplicationPause” do get called when the app is suspended but not before it crashes on resume.
The Unity log file on the device doesn’t point to anything. Though the stack trace resolve to UnityPlayer.dll and specifically the ResolveFallback method. I may have issues with incorrect fallbacks on shaders though it hasn’t crashed any device on other platforms so I guess there may be a bug somewhere.
Let me know if this has been reported or if you need a repro project, or if I’m at fault here and should check my shaders for errors. Here’s the stack trace below:
> UnityPlayer.dll!ShaderLab::IntShader::ResolveFallback(std::vector<PPtr<Shader>,std::allocator<PPtr<Shader> > > dependenciesTable, bool useDependenciesTable) Line 235 C++
UnityPlayer.dll!ShaderLab::IntShader::CreateFromParsedShader(const ShaderLab::ParserShader parsed, std::vector<PPtr<Shader>,std::allocator<PPtr<Shader> > > dependenciesTable, bool useDependenciesTable, ShaderErrors outErrors) Line 122 C++
UnityPlayer.dll!ShaderFromParseShader(const ShaderLab::ParserShader * parsed, std::vector<PPtr<Shader>,std::allocator<PPtr<Shader> > > dependenciesTable, bool useDependenciesTable, ShaderErrors outErrors) Line 621 C++
UnityPlayer.dll!ParseShader(const char * shader, unsigned int shaderLength, std::vector<PPtr<Shader>,std::allocator<PPtr<Shader> > > dependenciesTable, bool useDependenciesTable, ShaderLab::ParserShader * * outParsedForm, ShaderErrors outErrors, GfxDeviceRenderer renderer) Line 668 C++
UnityPlayer.dll!Shader::Parse(const char * str, unsigned int strLength) Line 478 C++
UnityPlayer.dll!Shader::RecreateAllShaders(const std::vector<long,std::allocator<long> > shaderObjects) Line 721 C++
UnityPlayer.dll!LoadAllShaders() Line 57 C++
UnityPlayer.dll!RecreateAllGfxDeviceResources() Line 209 C++
UnityPlayer.dll!UpdateD3D11Device(ID3D11Device1 * device, ID3D11DeviceContext1 * deviceContext, ID3D11RenderTargetView * renderTargetView, int width, int height) Line 80 C++
UnityPlayer.dll!UnityPlayer::UnityApp::smile:rawImpl(ID3D11Device1 * device, ID3D11DeviceContext1 * deviceContext, ID3D11RenderTargetView * renderTargetView) Line 689 C++
UnityPlayer.dll!UnityPlayer::UnityApp::Run() Line 406 C++
UnityPlayer.dll!UnityPlayer::UnityApp::Run(void * parameter) Line 367 C++
UnityPlayer.dll!<lambda_14163fd8e7b3473ba35abd0bcfa8d126>::operator()(Windows::Foundation::IAsyncAction ^ __formal) Line 272 C++
UnityPlayer.dll!Windows::System::Threading::WorkItemHandler::[Windows::System::Threading::WorkItemHandler::__abi_IDelegate]::__abi_Windows_System_Threading_WorkItemHandler___abi_IDelegate____abi_Invoke(Windows::Foundation::IAsyncAction ^ __param0) C++
THREADPOOLWINRT.DLL!70374d96() Unknown
THREADPOOLWINRT.DLL!70374e62() Unknown
NTDLL.DLL!77d8434a() Unknown