Ok, we finally have a new release that brings some major changes to the asset workflow pipeline. First i will go into why we had to change the system.
Edit: Patch Release for this version available here: https://aurasoft-skyline.co.uk/skyline-release-v-1-0-1-1-patch
Edit2: Patch Release for this version available here: https://aurasoft-skyline.co.uk/skyline-release-v-1-0-1-2-patch
Edit3: Patch Release for this version available here: https://aurasoft-skyline.co.uk/skyline-release-v-1-0-1-3-patch
Edit4: Patch Release for this version available here: https://aurasoft-skyline.co.uk/skyline-release-v1-0-1-4
When this task was started; there was a major issue related to uninstalling the skyline game engine. What happened was that if you developed your games and levels inside the asset manager and then uninstalled skyline without backing up your assets and levels, then the uninstaller would delete your entire level and asset information which is a big no no in game development. Because this happened we had to reimagine the way we work with assets and levels inside skyline and so the New User Library system was developed.
The user library system has the same level of workflow and power as the previous but now it is so much easier to manage your assets and libraries as you can use only the libraries you want to use. I hear you saying that this sounds like other engines and we would have to disagree.
Skyline can still use assets from anywhere on your harddrives and still share assets between projects, except now, skyline handles chunks of assets in what is called a library.
Each library stores its own resource lists which means you dont have to reparse the library everytime skyline is reinstalled or moved to a different location and once you have added a library to the editor settings, it will not need done again anytime even after reinstalling skyline.
Because of these fundemental changes, we will run through porting later on in this post.
There has also been other major changes to do with projects and the asset library. First, lets describe the changes to the asset library
User Library and changes to the old workflow
Based on what was mentioned before, skyline's preinstalled library is no longer called the "Asset Library" and is instead called the "System Library" as this is the content that is installed with the skyline editor.
You should not place your files in this directory and you will find that when you load the engine, you will be presented with a new window that will offer you to create your own "Asset Library" that will exist outside of the installed location. This is where you can put your assets and your scenes, but you are not forced to work with this library, it is the default user library.
You can add as many libraries as you want inside skyline and all will appear in the asset manager through the new library dropdown.
If you want to add your own library or are porting from a previous vcersion of skyline and have used the editor settings before, then you can add your libraries in here.
Now, i hear you saying, what are those checkboxes for. Well, the answer is simple; its there so you can disable one of your libraries or all of your libraries including the "System Library" although we dont recommend removing the preinstalled library unless you are really sure about what your doing.
Disabling a library removes the resources from within the skyline memory which allows you to test with some assets and then work with them in another library, or simply you may have set yourself up an RPG, Modern, FPS, Urban, Environments, Tree library etc and didnt want one of the libraries in as you were developing.... It can be anything as its just another asset library located somewhere within one of your hard drives. Another reason you may disable certain libraries is due to the sheer size of a library since the resource lists have to be parsed at engine load time so skyline knows where assets come from.
However, as mentioned before, once a library resources is parsed, the resource lists and stored into that library in a folder called "_ResourceLists", which should not be deleted unless corrupted at some point.
Enabling a library from, the Editor settings, will load the library in and if its the first time, then skyline will auto scan that library straight away and generate a resource list for it which will not need done again. Either enabling or disabling a library will add / remove the library from the asset manager library dropdown.
Projects have also changed in this version quite drastically, they still look and feel the same, but when working with a Project, the project library is just another user library, however these projects can be isolated so when developing, you do not pull any other asset from any other library which makes developing or testing your game that much easier.
They also can have their own icon and description which will appear in the Start Screen for the recent projects.
On top of these changes, Projects when created, will automatically create a default scene or copy the current scene your have loaded and all associated assets into the project. It also generates a game manager for you. (Note: We noticed a couple bugs exporting projects to end games which we will look at this week.)
When a project is loaded and its isolated, then all other libraries are disabled automatically and removed from the Asset Manager Library Dropdown so only the project assets are shown. Because it also uses the same user library system, the project also shows all the green folders for resources that are added.
When a project is loaded and it is not isolated, then the project can still use the other libraries and they will still show in the Asset Manager library dropdown. However, there is an order to libraries in which assets will be searched through. Below you will find that order.
- Projects ( If loaded )
- User libraries ( In the order they appear in the Editor Settings )
- System Library ( will always be looked in last for a resource... basically a fallback folder )
This means you can actually copy certain files from the "System Library" and then edit them without affecting the pre-installed versions.
New Demo - NPC Melee
Along with the library and project changes, we also have a new demo with new AI game mechanic scripts which allows an AI NPC to follow a path or use navmesh and attack the character. Navmesh can be used to follow a path or random points on the navmesh and if the navmesh is not used, then it will use the paths to patrol around the scene. Oh, and if a navmesh is used, the AI character will move around corners to track and attack you. There is also an element of stealth as AI characters have a field of view. So if you are hidden behind a wall and the character is on the other side of the wall, they wont be able to see you, but if you pop your head around and they see you, then they will come after you using the navmesh as there pathfinding solution (if in the scene) and attack you... AI Shooters are still in development but will use the new AI Mecahnics scripts that the melee uses as its no longer one script but a set of AI scripts, that will be easy for you to add your own mechanics and new AI commands to.
Ok, It's Porting time! Many of you have projects and assets already setup and working nicely. So you need to heed these words and follow them closely.
First, Backup Everything and make sure its not inside the installed location as this release has no auto update due to the massive changes and we are not responsible for any loss of work!
Ok, With that massive but highly important disclaimer out the way.
- Take note of any folders you have setup inside the "File > Editor Properties" as these will be need to be readded into the Editor properties after install and before loading your level.
- Once installed and you have loaded the engine, you should be presented with the create your own library box. Choose the location and create your user library. Then copy your assets your typically placed in the Pre-installed Library into this library. Again, "System Library" is not for your assets!
- Backup any projects and Editor Plugins you have made. For projects when loading, make sure to save them back and if your not sure. create yourself a new project and copy your data across.
You can get the new Download for skyline from your Store Downloads account.
As usual, Enjoy the engine and if you have any bugs, then post to the Support Site
Your Dev Team :D
ok, time for the changelog after all the waffling lol :P Many new, updated and fixed things this time:
- New: Added Blank Game Manager.lua to Asset Library/Game Managers
- New: Editor - Choose user library location now appears in skyline for first boot to set the path where user assets and other files should be stored.
- New: If you have multiple libraries and no resource lists, they will be generated for you like the main system library.
- New: Resource Lists for custom user libraries are stored in the library itself, so once it has been generated, it won't need generated again until its deleted or used on another PC.
- New: Editor Settings: Enable / Disable Libraries so the resources get unloaded or loaded
- New: Much more efficient workflow and assets wont be lost while working or uninstalling / installing skyline.
- New: Unlit materials can now save the resource groups for a texture in the material file
- New: Materials that have no resource group can be remapped to return the correct resource and its not spamming with changes unless there are a lot of materials without a resource group and skyline can find multiple versions of it.
- New: Materials that have resource groups, but do not exist at that location bring up the remapper.
- New: When exporting a game, it will now go to the user library instead of the system library.
- New: Project Creation pipeline: Skyline will now save a default scene and load that when a project is loaded. If the save current scene, then it will save the current scene and copy the assets across.
- New: Projects: Projects can have icons and descriptions
- New: Projects: New properties and settings available for editing.
- New: Projects: A Project game manager is automatically saved and applied to the current project scene.
- New: Projects: Descriptions, name and icons can be tweaked after a project has been created.
- New: Projects: Main editor toolbar has new Projects menu dropdown with some controls to help manage projects
- New: Projects: New Projects tab on the start screen to show latest projects that have been used and first in list is last opened.
- New: Projects: When opening and saving projects, they save the recent project to registry like the recent files.
- New: Projects: The ability to isolate a project from the rest of the system is now avaialble and is apart of the project settings or available from the Project menu on the main editor menu.
- New: Projects: Default project game manager and script is added into a new project build which should be the only one ever used.
- New: Doc page - FAQ License and Installation
- New: Guide- Startup guide
- New: Scripting overview
- New: Scripting Adding micro scripts
- New: Go Character with the new AI melee class
- New: Demo level to see the new melee class in action
- New: FAQ- License and Installation: How to show config box Config
- New: FAQ- lua how to access the weapons editor from script
- New: FAQ- scenes: game and demos location/tab
- New: FAQ - Scripting hints and tips
- New: FAQ- Asset questions
- New: FAQ-Game Objects
- New: Video Tutorial index
- New: Lua Ai npc class system with navmesh and path following. Chase on navmesh and patrol to random point or follow path.
- Updated: API with fixes to entries
- Updated: SkyParticles that use the data line will now remap if the texture does not exist.
- Updated: GUI's: You no longer need to call gui.loadWorkspace as this is automatically done when you load the gui file itself.
- Updated: Asset manager: Removed asset library button and added drop down combo to choose library. This makes it easier to manage multi large libraries.
- Updated: The current library we call "Asset Library" has been been changed into the "System Library" which is what is installed along with skyline, When skyline is uninstalled, this library is destroyed and replaced with the next version.
- Updated: We now use a new library still called "Asset Library" which is now the user library. This can be placed anywhere and keeps it out of the Install location so no work can be lost.
- Updated: Removed single gizmo from editor settings.
- Updated: Removed the Custom loading screen from editor settings as skyline now has the game manager to control them easier.
- Updated: Removed disabled resource buttlons in the editor settings panel.
- Updated: Game Objects are now loaded from all enabled libraries.
- Updated: New Project will provide a default path to create a project in that you can change to a different location
- Updated: Removed action: "Path - NPS Wander"
- Updated: Asset Remapper: If you choose the resource group for a mesh and it then appears in the same load scene call, then it will use the cached variation instead to reduce the amount of calls.
- Updated: Asset Remapper: If you choose the resource group for a Texture and it then appears in the same load scene call, then it will use the cached variation instead to reduce the amount of calls.
- Updated: Asset Remapper: If you select an entry and then choose auto detect, it will not show the dialog again if any of the successive calls have the same library in its checks further reducing the amount of calls. This is for meshes and textures.
- Updated: All open or save dialogs will now default to the first user library available instead of the system library
- Updated: When reading resource lists on engine boot, it has improved read speed on standard HDD by 1 second on 80,000 files which is considerable.
- Updated: Resource Collection now works with the new library system
- Updated: End game works as expected
- Updated: Editor Player is now working with the new user libraries.
- Updated: Asset Manager will open the library that the last known location was already in, if not in a library, then it will default to use the root computer directory and locate the path from there.
- Updated: Sometimes during a remap, textures would load from the incorrect location due to a sub texture requiring remap
- Fixed: Game Object panel section would scroll across while scrolling down, leading to a strange unpolished effect.
- Fixed: When opening a folder from asset manager asset list instead of explorer, it reset the path to the computer.
- Fixed: When running with 4K resolutions, Syline had incorrectly scaled fonts, however now they are working as expected.
- Fixed: Game Objects: Fixed scroll offset horizontally when using the middle mouse wheel to scroll
- Fixed: Terrain crash with regards to loading a missing texture on the second go.
- Fixed: Sub material panel: When resetting to default, it potentially could have crashed if the wrong resource group was called.
- Fixed: Script Editor: Columns on the Function list were shrunk
- Fixed: Script Editor: Columns on the Snippets list were shrunk
- Fixed: Dynamic Properties: The property column was always small instead of a decent value.
- Fixed: Particles: When the remapper appeared for certain particles, it would appear each and every time due to unlit materials not being rewritten with a resource group, because they did not exist.
- Fixed: Particle Universe: When loading certain particles, if the resource groups changed while loading, then it would fail to load the PU effect file entirely
- Fixed: Dynamic property headers/columns now size correctly
- Fixed: FPS Players Json Console error. on GO players
- Fixed: Sensor "all" modes visablility now works as expected. Detects line of sight only.
- Fixed: Move action now flips on bounce. Still only xyz axis.