Hello and good morning,
I’m experiencing an issue with Cesium where every time I launch Unreal Engine I have to re-authorize cesium, it doesn’t matter if its a simple restart or a day apart, this happens at both of my computers running the same project through perforce. My unreal engine version is 4.27
Here is a picture of the window that greets me every time I start the project;
The error that I’m getting is;
LogCesium: Error: [2022-03-07 09:41:43.138] [error] [RasterOverlay.cpp:145] Ion raster overlay metadata response type is not ‘IMAGERY’, but unknown
So I go ahead and click “Connect to Cesium ion” and it takes me to the authorization website where I click “Allow” and that works and I get connected to Cesium.
I then click my world terrain and hit “Refresh Tileset”
It then launches the Token Troubleshooting window, giving me the same error again;
LogCesium: Error: [2022-03-07 09:50:08.382] [error] [RasterOverlay.cpp:145] Ion raster overlay metadata response type is not ‘IMAGERY’, but unknown
Heres a screenshot;
Now I’ve tried to let Cesium generate its own token from UE4 directly as well as creating my own token on my profile, none of them seem to stick. I’ve even entered the Access Token into the World Terrain directly but this didn’t help either.
Cesium does not work when I try to launch the game as a “Standalone Game” after authorization either, I’m thinking that these two issues are related.
Can anyone help me with this? Its getting kind of frustrating not being able to test my application properly to see if Cesium will work for us.
Cesium for Unreal stores the token information in [Project Directory]\Config\DefaultEngine.ini. Is there any reason that file might not be writeable on your system, perhaps? I know with Perforce it’s usually necessary to do an explicit checkout before files are writeable.
Thank you for replying so quickly and providing a solution.
After checking out DefaultEngine.ini, restarting, authorizing and setting the token the map now loads the terrain as expected, it also works in Standalone mode.
However, If I want to edit anything or add new assets I still have to go through the authorization process every time. (But not the token part of it)
Is there any other files that I might need to check out for it to store my login credentials on this specific project?
Glad to hear that worked for you!
The login token is stored in [Project Directory]\Saved\Config. I believe it’s in a
EditorPerProjectUserSettings.ini in the appropriate platform subdirectory. My understanding is that the Saved directory is not usually checked into source control, but maybe it is in your case?
That worked, seems like its all sorted now!
I have indeed put the Saved directory into source control.
Thank you for helping out so quickly!
Would you consider adding a source control check to future versions of cesium to avoid this happening in the future to others?
Or maybe make a short writeup on how to this when using Cesium with source control?
Yeah I agree we need to do something here. I wonder if Unreal has an API to automatically check out a file from source control before we modify it. Maybe you know off hand? At a minimum we should report the problem when a config file is not writeable. We use git almost exclusively at Cesium, which doesn’t mark files read-only or require explicit checkout; that’s why we haven’t run into this ourselves. I wrote an issue for it:
Thank you for registering this as an issue
Unfortunately I don’t know how that works specifically, but seeing as its built into unreal by default and that Unreal Engine will ask you to check out a file if you’re trying to save to a file that hasn’t been checked out yet as well as blocking you from saving to a file that has been checked out by another user all in the engine, I expect there to be something that can be used for 3rd party plugins as well.
Seems like these are the functions available;