About Collision and Performance

Hey!

I made a House which took more then 200 Primitives until i found it decent, later i learned in a Core Twitch stream about tree's that collision on objects is network handled and placing too many tree's would significantly reduce the network performance of a game.

This makes me think that my >200 Objects house is most likely a massive performance killer! So i have a few questions regarding this:

  • Am i right with this idea? Or does Core have something like a "built in collision optimizer" and takes care of this itself?

  • If i am right, will the "Collision Force Off" choice in the properties window be enough to have it client side handled, or will i need to go a different way to achieve that?

  • can i have a many client side "No Collision" objects and few networked "Yes Collision" objects saved in a single template without issues?

A 200 object house should be fine. Your biggest concern will be if you have the house set to networked like so:
Screenshot_47

Networked objects are useful more on the scripting side, so if you aren't scripting anything for the house, it shouldn't be networked as networked objects will start to kill performance even with as little as 200 objects, be careful when using networked for anything.

If you see that your house is networked, you'll want to right-click on your house's group/folder (I'd recommend only using groups as they are more optimized than folders) and disable networking. When you select it'll come up with a popup asking if you just meant that object or if you want to do it for all the children objs, just select "Continue with Children" to make all the children also not networked:
Screenshot_49

In terms of optimization, I'd recommend putting any objects the player can't reach, such as the roof, any paintings on the wall, etc. in a client context. Keep in mind, as of right now in Core, any object within a client context won't have collision (even if you are forcing it to on), so once again, make sure the player can't reach that spot. So your house should look something like this in terms of file structure:
Screenshot_50

You'll need to put it in a client context if you want it on the client side.

Yep, you can even throw static context, server context objs, scripts, etc. all within a template. As of today, 9/30/2020, really the only thing you can't put in a template is a terrain (that might change in the future).

1 Like

Oh dang i forgot... thank you for the precise answer, no questions left :wink:

Fantastic explanation. Learned a few things from your response. Thank you

Also learned a lot from that response! Great question Drickster.

Yes! Awesome explanation and super helpful. I need to go look back at the game I am working on to see if I am following these tips.