Hi @MartyMcFly
1.2 I checked this out. It’s pretty in line with what I was thinking with the combination of what you mentioned initially. When I mentioned flat tiles, I’m not saying they all have to be quads. I use tiles or honeycombs for a lot of world optimization. Keep in mind that day-to-day I’m working on levels and assets that account for 3-5 mile vistas shorter on modile of course. What you did in your first game sounds like a wise choice. Just because you use “tiles” for optimization and logic, does not mean the player will see actually visual tiles. Again, non of your original examples showed visable tiles, so I wasn’t shooting from the hip there!
By the way, that’s a big train for that little shed. There’s an impressive round-a-bout in there lol. I was wiaitng for even more train parts to come out of there like a clown car situation lol !!
2.2 Unity’s notes sound like they maybe haven’t got dynamic batching working great in URP. In fairness, their “optimization” documentation has been not always so accurate historically. There is also the SRP batcher which I believe is what they are pushing for URP and HDRP. There are indeed situations, where batching is not going to improve performance. If you are talking about thousands of objects on mobile, I’d say that would be one example. Top down for any platform is significantly easier to optimize than the types of assets. I could see that in a fixed camera top-down on a very small map. You need to find out the exact ceiling for the vertices of combined objects for your target device, along with other info like that if you really want accurate feedback. I’m doing my best based on what you’ve provided (and that has been edited and changed during the conversation lol). If you know you’re stuff fairly well, then good lord lead with the info you know I need. I just found out your were using URP for example.
I very carefully craft and test assets for free camera vistas on a daily basis. Many other developers’ assets are NOT well designed for mobile or anything realtime really. In recent years, I focus more on desktop, console and VR, but if you want to see an asset with MAXIMUM usage of vertices for efficiency check out this kit I made about 10 years ago: https://assetstore.unity.com/packages/3d/environments/sci-fi/optimo-sci-fi-city-2-156685 …maybe not the style of your game, but the way I modeled it the buildings, uses like 1/10 of the vertices of some popular “toon mobile” assets available. It’s still as fast as you can get for today’s mobiles or any platform really. It’s a legacy kit and only $5. I can give you a voucher if you’d like to see how mobile models should really be made. I strongly suspect that a lot of your tests and conclusions might not be taking into consideration the assets being used and possible obnoxiously high vertices counts. Me knowing things like your familiarity with 3D modeling in general would be really helpful. I don’t intend to or want to talk down to you in any way whatsoever, but the type of level you are talking about is like one of easiest things to optimize compared to stuff I usually work on.
Tell me your exact specs and ceilings for your target device range, and I could not only go into exact detail. Just to be clear everything I’m saying I can build from scratch if I personally needed to. Enough on that though.
3.2 Yeah let’s not call combining meshes “baking” that is way too confusing and other people who are likely to read this thread.
Respectfully, I think you might of missed what I was saying here. I bake lights, custom luts, and all kinds of things into the textures themselves before Unity lighting (of any kind) even comes into play. AND use real-time on top of it. You really should look into this practice, especially for mobile; even if you have a dynamic daynight cycle.
By the way, I think you should just fake your day/night as much as possible if you’re doing fixed camera top down. For real-time, a simple rotation script on a directional light while controlling a reasonable frame update would be way faster than a lot of popular systems for this which have way more than you would need. Feel free to ask me about this if you are interested.
4.2 Yeah so as I’ve said, I do this everyday. The ironic thing about your “find the time” comment is that I don’t find time for much else besides the things we are talking about. Everything I mentioned to this point in all of my posts is intertwined and nothing I’ve said is anywhere remotely off-topic, in my opinion. They are important considerations.
The actual models you are using affect everything we are talking about. As for the terrain, it’s just not smart to use the terrain system for performance, especially for what you’re doing on mobile. So, that means we are actually talking about making 3d models.
“never made successful use of static batching” ….on anything? Ever? Maybe you didn’t mean it like I’m hearing that. If that’s the case, there’s got to be some kind of error in either the way you are doing things or in the assets themselves. Or you might be talking about specifically for fixed camera top-down micro maps, in which case I could see this as a viable assessment. Going to give you the benefit of doubt and assume it was the latter
I don’t really know what else to say without having more detailed specifications or specific case profiler data. I am very astute when it comes to optimization though and the type of level you are optimizing is pretty easy compared to the extreme worlds that I usually build.
It sounds like you have a good foothold on profiler use. If you know your target specs then that would be really helpful.
What’s your vertices budget total?
What is your vertices budget per game object? 64 per object? 300 per object? 2,000 per object? Even higher? Nothing I see in your examples, should take more than 300-500 vertices for even the most vomplicated buildings.
Total game objects visable at once? Static? Dynamic?
Intended build size? 10bm, 50mb, 100mb, 1gb?
-Texture budget?
-Audio budget?
Batches ceiling?
Set-pass call ceiling?
And just to be clear, though I’m ridiculously good at optimization, I’m still capable of learning myself. I improve my processes all the time. I’ve been working with changes in technology and performance impacts for almost 25 years now, full-time. 21+ years at often very high levels There might be things about your project and personal experience studying performance that could help me be better moving forward. I’ve definitely put in over 10,000 hours in real-time modeling with an emphasis on optimization though, so I’ve definitely taken the time. I could optimize the level you are talking about in my sleep lol. I just might not be the best at communicating my knowledge and experience without exact specs. I’m not a sorcerer lol
If you want to contact me directly to discuss exact details that you don’t want to share publicly about your upcoming release you can email me ronbohn (at) bohnstudios.com
There’s a pretty wide disparity in terms of experience on these forums, and again, I hope none of my previous messages came off as condescending. I made some assumptions based on the type of info you initially provided.
Sorry for the wall of text. But yeah I’m down to roll up my sleeves and get this done. I’m sure there’s plenty I can learn from your experience, especially in this type of game. Stick with the tiles, just don’t let the player see the seems. You had it right the first time and it’s a crucial concept that applies to other camera angles as well…I promise!