The way Google’s tiered pricing works is that you get a $200 credit each month. So across every service, if your total usage is under $200, it is free. Different services charge different rates for usage and have different metrics. So for 2D dynamic map loads that is $7 USD per 1000 map loads. So $200/$7*1000 = 28,571 map loads per month for free, assuming you don’t use any other Google Console billable services (like Geocoding or 2D static tiles or Photorealistic 3D tiles).
The pricing for the Photorealistic 3D Tiles is $6 per 1000 “3D root tiles” at the moment. So $200 will only buy you 33,333 “3D root tiles” per month, assuming that is all you are using that $200 credit for. If you are mixing your usage between multiple services then each of them contribute to the $200 credit and it can add up very quickly.
Let’s say you made a popular 3D application with Google 3D tiles and got, say, 50,000 users (so around 1,700 per day, which is not much), each of which (through some miracle) only used 1 3D map tile. The first 33,333 of those are free — hooray. The remaining 16,667 of those are charged at $0.006 each, so $100. Which is a lot of money for an individual for not that many users in a month in web terms. If you actually made something that, say, got even moderately popular on Reddit for one month, and you got 100,000 views in a month (a month!), then that’s a $400 charge. If you made something that went a bit more viral and you got 500,000 views in a month, then you’re talking about (100,000 * $0.006) + (400,000 * $0.0051) - $200 = $2,440. (After 100,000 views the price goes down a little; more than 500,000 views and they refer you to contact Sales for Volume pricing.)
If you’re thinking, gee, this could get expensive if I make a popular app, you are correct. Google has no mechanism in place to “cap” usage; all you can do is set up an “Alert” that will e-mail you if you go above a given threshold, and then you can shut off the API or whatever for the rest of the month.
It’s a super unpleasant business model and a popular application can swamp you with ridiculous costs if you aren’t careful. I will say that if it is a one-time incident like that, they are usually pretty good about waiving a given month’s ridiculous fees if you apologize and indicate you didn’t understand it would be that expensive. But it’s not a long-term solution.
If I sound like I speak from bitter experience on all of this… I do! I’ve run a moderately popular mapping website for the last +10 years, and had to transition away from Google in 2018 when they switched to the new “tiered” model that increased the cost of running a map website with them by a factor of 10X in one month (and that wasn’t even that busy of a month). I came to the conclusion that Google has a really bad pricing model, one that actively punishes web developers who stumble across something cool but don’t have a way to make money with their website in place (or simply aren’t trying to make money from their websites). When I started mapping in 2012, they provided mapping services for free, but those days are long gone…
An alternative way to deal with this that I have used is setting up a means of keeping track of how many tiles are used and then shutting it off automatically. This can be done with a mixture of Javascript (e.g., each version of your application “phones home” whenever it loads an uncached tile) and server-side scripting (e.g. a PHP script that is required to provide the API key and keeps track of usage, and either denies further usage after a point or switches to a different service).
Or one could do things that explicitly break Google’s TOS like caching the tiles, but you didn’t hear that from me. (I have no idea how that would work with 3D tiles in any event. I have not used their 3D tile services before, except to experiment with them on here.)
The long-term approach is going to be developing alternatives to Google (on a model like OpenStreetMap or something) because the Google model is super exploitative and super expensive. In the area of dynamic mapping we are basically there — it is now possible to self-host vector map tiles at literally 1/600 the cost of Google, Mapbox, etc. I don’t know how far away this stuff is for 3D mapping, but I am very dim on the idea that Google is going to be the platform of choice for this stuff with such a punishing pricing model. One wonders who they think their developers are.
To your question about Unreal, it depends on whether it caches the results locally or not. A tile loaded from a local cache is not usually charged. If it is downloading the same time each time, then yes, that would count as 5 billed uses. I don’t use it on Unreal so I can’t say. A web browser tends to cache downloaded files… I don’t know if Unreal does.
If you are just doing this for something in-house and don’t plan to let anyone else in the wider world use it, then the $200 credit is probably adequate, even if it was spread across your whole office, because even the constant-refresh of debugging/developing isn’t likely to be loading 1,000 tiles a day (and anyway, if you have doubts, you can always monitor the usage through the Google Cloud Console).