When you change a file loaded into TCastleScene
it is now automatically reloaded at design-time. The editor detects changing file by CGE sprite sheet editor, or changing any file by an external application (e.g. updating glTF file by exporting new version from Blender). In the latter case, the model will be reloaded when you switch back (e.g. using Alt+Tab) to the CGE editor application.
The logic to monitor files naturally only happens at design-time. At run-time, we don’t reload anything automatically, nor do we waste time on trying to detect the changes to files.
Right now, there’s no way to disable this detection, as it seemed to make sense in all use-cases. But we welcome feedback — if you have a workflow where this is undesirable, let us know š
Note: The logic that detects changes isn’t 100% complete now. Some examples that still warrant manual reloading:
-
We do not detect changes to secondary files, e.g. if you only changed a texture used by the glTF file, not the glTF file itself. We only watch the single file indicated by
TCastleScene.Url
.To force reloading file at design-time, just use “Reload URL” context menu item (right-click on
TCastleScene
in the editor hierarchy). -
When
TCastleScene.Cache
is used, the file will not be reloaded from disk in all cases. We should react to the cached file change properly in the future, for now you may need to reopen the design if your scenes useTCastleScene.Cache
. -
Not all components implement necessary watching logic yet. For now only
TCastleSceneCore
does it. All components should eventually do it, e.g.TCastleTiledMap
,TCastleImageTransform
,TCastleImageControl
.
Start the discussion at Castle Game Engine Forum