- Home /
Physics Update Problems
Greetings, we've developed and released a marble run app for mobile platforms, that heavily relies on the Unity built-in physics. The app was released a few years ago, and we're steadily adding new content to it. We plan to continue supporting the game for at least a few years.
We initially built the app with Unity 5, and managed to upgrade the project to 2018.2, while keeping all marble run levels intact.
Now, with the new physics update from PhysX 3.3 to 3.4, in Unity 2018.3 and onward, we see major changes in physics behavior. Basically marbles don't run as they used to, which resulted in some levels becoming unplayable.
- In 2018.2 and older we were able to restore the old physics behavior by disabling PCM in the physics settings. It looks like this checkbox was replaced by the "Contacts Generation" dropdown. Selecting "Legacy Contacts Generation" however didn't do the trick, as marbles continue to roll completely different, compared to previous versions. Might this be a bug?
- One alternative would be trying to adjust forces and other physics settings in a way that older levels work again, but this would be tedious at best. Some levels might even be irreparable.
- This video shows our problem: https://drive.google.com/file/d/1nuKFSCR9hdy73t1LUF0Hgj_XDiAj_WDN/view
Requirements like Android 64 bit support push us to use newer Unity versions. How should we future proof our marble run app with physics changes that big? How can we keep our Unity engine up-to-date without breaking existing levels?
just in case you missed this, unity sais even if you continue using the old physics system this: Upgrade advice: To migrate a Project made with Unity 2018.2 or lower, you might need to update your scripts to work with the code that merges patches in the manifold, and selects contacts. and did you try using LTS versions? i imagine LTS version will get updated for trying to acomplish future requirements, it would make no sense having a LTS version that gets obsolete, altough they only get 2 years of maintenance
Hi, thanks for your reply. We've seen the upgrade advice, but didn't understand what this actually means. What even is the code that merges patches in the manifold, etc. Thanks for the LTS advice, that is a good idea!
i am not sure, since what i understand of that snetence is something like trying to adapt the SAT (legacy) theorem with the new manifold system, what i would try is to create physic materials and try to play with the bounciness of the ball/scene, and if it doesnt work maybe trying to increment the physics timestep (maybe if the new manifold system gives more accurate collision decreasing the amount of collisions per second work)
Answer by tBurger · Nov 25, 2019 at 03:24 PM
Today, I updated to 2019.2.13 and as expected the physics went to hell. Oddly enough I managed to recreate the seemingly same physics behavior, by setting 'Collision Detection' in every ball's Rigidbody to 'Discrete'
The courses seem to run fine for now, so until we find another better solution, this is the right answer I guess.
Your answer
Follow this Question
Related Questions
Help with sound playing when a certain bool = false 1 Answer
Why Do Inputs Have to Been in Update (Rather than FixedUpdate)? 3 Answers
Getting "Internal error: Too many pairs created" without any apparent reason 0 Answers
How to I make my player push off of the ground? 0 Answers
Time.deltaTime does not always correctly display the time difference between 2 frames 1 Answer