#ProBuilder concern

1 messages Β· Page 1 of 1 (latest)

honest elk
#

In this video https://youtu.be/kML67qB9Chk?t=130 at 2:10 through 3:14, the person says probuilder does lots of bad stuff causing it to be unsuitable for a full game. how true are his claims? Especially the one where he says every time you do something all the probuilder meshes have to rebuild or something.

Are his claims false or does he also say true things? And should people be concerned when using probuilder for making a full game instead of merely using it for prototyping?

Making huge games in unity can quickly lead to problems - hopefully this video can help you to avoid them.

Links:

CrossScene Reference / GUID Based Reference:
https://github.com/Unity-Technologies/guid-based-reference

Material Property Override:
https://github.com/Unity-Technologies/FPSSample/tree/master/Assets/Tools/MaterialPropertyOverrid...

β–Ά Play video
vocal jacinth
#

Hey @honest elk ,
Me again πŸ˜„
So, no what's in that video is not what's actually happening... πŸ˜… That would be reaaaaally painful if that was the case to do any undo/redo in the scene if that was the case!
To be clearer on what's happening:

  • When probuilder meshes are created they are store directly in the scene, the mesh is not regenerate when entering playmode or when opening the scene again.
  • When performing Undo/Redo, only meshes impacted by this action are generated again. Because vertices are updated on an undo/redo action, only there the mesh is regenerated from scratch (mostly the mesh asset from ProBuilder Mesh data)

However, as I answered in another post from you: ProBuilderMesh format is storing extra data to facilitate the mesh editing. For instance, vertices can be duplicated to facilitate UV editing or storing different normal on a single vertex. This extra data can be costly at runtime when editing the mesh might not be needed anymore. For that reason, when mesh edit is done, it might be more efficient in term of performance to export the PBMesh and store it as an mesh asset or another format πŸ™‚

#

On another note, ProBuilder was used to make full games already indeed, at some level between prototyping and full game entirely.
It's complicated to know exactly at which level because studios rarely communicate this back to us, but I can cite for instance: SuperHot (superhot VR as well), Tunic, or superliminal (at some point their is a PB stair that falls in the scene πŸ˜› )
@cerulean flax might have more reference on that topic

cerulean flax
honest elk
# vocal jacinth Hey <@798203494279938049> , Me again πŸ˜„ So, no what's in that video is not what...

Thanks for the answers both of you! However I have a follow-up question
You mentioned you answered in another post from me, did you delete that because I can't find it on the other posts? Anyways that extra data sounds concerning. I've heard ProBuilder strips the probuilder related scripts from all the meshes when we build the game, couldn't this issue be solved similarly? Strip all that unneccessary extra data as well to avoid the extra step of having to export everything? (since exporting would take a huge amount of time if you have a lot of meshes).
I think this is a feature which should be focused on, and it sounds like stripping all that data on build should be easy to do (can make it optional as well if someone wants to edit the meshes at runtime)

vocal jacinth
#

So yes, there is an option indeed to strip ProBuilder scripts when building a game.
However, we don't do that for mesh, main reason being that ProBuilder API can be used at runtime too πŸ˜„ We are providing some samples doing that.

Regarding what can be done to optimize that at runtime, @cerulean flax and Karl from Pocket world (who use to be a Probuilder main dev at some point too) had a talk during the last Unite in September. During that talk, Karl presented how he is now optimizing the data at build time and showed a quick script for that at the end of the talk. You can find that in the video (after 32:30):
https://youtu.be/2JLI5BQM7fg?si=engPQAwai1qfoO06&t=1950

Learn how ProBuilder can improve your workflows and speed up your level designs in Unity. Pocket Worlds will also present how they leverage ProBuilder for their runtime creation tools of user-generated content.

Speakers:
Gabriel Williams, Senior Product Designer, Unity

Karl Henkel, Staff Engineer, Pocket Worlds

β–Ά Play video
honest elk
cerulean flax
#

Showing my own ignorance of these details here, but isn't that what this checkbox does? It is enabled by default, IIRC
"Script Stripping"

#

Oh, I see. You want to strip the mesh data itself, down to the minimum?

#

Karl's section of the talk indeed address this, or an aspect of it πŸ™‚ Whether we can add that to PB directly, @vocal jacinth will know πŸ™‚

honest elk
#

I strongly recommend adding that as a feature directly to strip down the mesh data to the minimum! πŸ™