Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Ajax_Studio · Nov 18, 2020 at 12:01 PM · scripting problemphysicscomponentscrossplatformphysics settings

How to achieve cross platform deterministic physics(Android , IOS) ?

HI, We are currently working on a 3D project which is purely based on the physics engine of Unity. We have been able to achieve deterministic results on the same architecture, but sadly its not cross platform deterministic(Android & IOS).

The game is not network based, so we cannot/won't be implementing photon server for this project(network lockstep).

We know that unity is not cross platform deterministic (which is to be rolled out by unity at end of 2021... I guess!!).

We have tried DOTS/ECS/BURST without any luck!

After doing weeks of research we figured out that the problem lies in the floating points of the physics engine, and implementing a FIXED POINT MATH LIBRARY was required to achieve cross platform determinism.

We found a couple of resources on GitHub providing that fixpoint library, but failed to infuse it or override with the physics engine of Unity. Currently the only option seems like to completely make our own Rigidbody system which uses fixed point math (bump!).

Would really appreciate any help or direction in this matter!!

Comment
Add comment · Show 4
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image xxmariofer · Nov 18, 2020 at 12:42 PM 0
Share

Hello, there are 2 physics engines built for DOTS. have you tested both?

Unity Physics package: the DOTS physics engine you need to install by default to simulate physics in any data-oriented project. Havok Physics for Unity package: an implementation of the Havok physics engine for Unity, to use as an extension of the Unity Physics package. Note that this package is subject to a specific licensing scheme.

avatar image Ajax_Studio xxmariofer · Nov 18, 2020 at 01:53 PM 0
Share

Yes, we have tried both physics engine. In both their documentation it says their engine is not cross platform deter$$anonymous$$istic, but deter$$anonymous$$istic on the same architecture provided that the inputs of the system remains same.

Here's what they say on their official page: "Deter$$anonymous$$ism is about getting the same outcome in a physical simulation when it is given the same set of inputs. Both Unity Physics and Havok Physics provide deter$$anonymous$$istic results. However, because different CPU architectures (x86, AR$$anonymous$$, etc.) produce $$anonymous$$or differences in their mathematical calculations, the deter$$anonymous$$istic results of the simulation may be different on different hardware."

avatar image xxmariofer Ajax_Studio · Nov 18, 2020 at 02:37 PM 0
Share

$$anonymous$$y fault, thought Float$$anonymous$$ode.deter$$anonymous$$istic was live on. After a sort search in google i found about this engine, but i have no experience with it at all https://github.com/sam-vdp/bepuphysics1int

Show more comments

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Ajax_Studio · Nov 27, 2020 at 07:13 AM

Hey @xxmariofer !! After a lot of researching and tinkering I was able to integrate BepuPhysicsIntV1 into Unity and achieve cross platform deterministic results!!

Greatly appreciate your assistance!

There are a few lot more issues that needs resolving, like the Unity Editor keeps crashing after a few replays. Need to construct custom colliders for rigid bodies. If you have any expertise in this area, your help will be appreciated!!

THANKS AGAIN!!

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image xxmariofer · Nov 27, 2020 at 08:58 AM 0
Share

sure, share the unity editor log related with the crash in case the bring some light into your issue :) you can locate them in

Linux ~/.config/unity3d/upm.log macOS ~/Library/Logs/Unity/upm.log Windows C:\Users\username\AppData\Local\Unity\Editor\upm.log

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

315 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Script adds rigidbody but player can walk straight through the gameobject? 1 Answer

Different bullet effect on different physics materals. 1 Answer

My raycast wont function properly 0 Answers

Custom Character Controller Errors? 0 Answers

transform.forward not always forward? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges