[Solved] Game fails to start with serializing exception

My gamestudio fails to start, even if I Create new project.
There are no errors visible, console closes.
When I run the solution from Visualstudio the window wont open and when I pause it, it poimnts to line:
using (var game = new Game())
I tried reinstalling paradox.
I feel stupid now, but what was wrong will remain mystery, since PC restart did it O.o
Now it fails at run with:
No serializer available for type id … and base type SiliconStudio.Paradox.Engine.Script
I hope i will find issue, soon enough :wink:

Looks like I won’t. I killed like 2 hours trying to figure that out.
It says always ends with exception:
No serializer available for type id [some guid] and base type SiliconStudio.Paradox.Engine.Script

No metter if I add complete new entity and completely new entity and add completely new script. As soon as I attach script to entity it fails with that exception.

EDIT 2:
I would be so grateful about ANY hint how to debug it.

I was forced to recreate the paradox projekt from scratch as it was before, moved the files and now it works, but I would like to know how to debug such errors anyway.
EDIT: It worked once, then I edited one file and I got the same exception.

For anyone unlucky enough to do the same mistake.
I by habbit declare dependencies of an object as public. Because of course objects should not hide their dependencies so that they are mockable and injectable by IoC DI containers.
What I did not realize was, that exposing property on script that I use in editor means that the engine will try to serialize it.
Another mistake was, to have warnings disabled. So I missed the missing serializer warning.
Solution:
To attribute public dependency with [DataMemberIgnore] so engine won’t try to serialize it.
Suggestion:
It would be nice if the exception it trows said something more helpful. Would have saved me hours.

1 Like

Glad you could find what was wrong! We will definitely need to explain all that properly in the doc.

This initially solved my problem, so marked is as Solved.
I am sorry, to say, but later same exception appeared, and this time I was unable to solve it using solution I had described before.
Therefore I opened this issue: