diff --git a/engine/include/XCEngine/Resources/AsyncLoader.h b/engine/include/XCEngine/Core/Asset/AsyncLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/AsyncLoader.h rename to engine/include/XCEngine/Core/Asset/AsyncLoader.h diff --git a/engine/include/XCEngine/Resources/IResource.h b/engine/include/XCEngine/Core/Asset/IResource.h similarity index 100% rename from engine/include/XCEngine/Resources/IResource.h rename to engine/include/XCEngine/Core/Asset/IResource.h diff --git a/engine/include/XCEngine/Resources/ImportSettings.h b/engine/include/XCEngine/Core/Asset/ImportSettings.h similarity index 100% rename from engine/include/XCEngine/Resources/ImportSettings.h rename to engine/include/XCEngine/Core/Asset/ImportSettings.h diff --git a/engine/include/XCEngine/Resources/ResourceCache.h b/engine/include/XCEngine/Core/Asset/ResourceCache.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceCache.h rename to engine/include/XCEngine/Core/Asset/ResourceCache.h diff --git a/engine/include/XCEngine/Resources/ResourceDependencyGraph.h b/engine/include/XCEngine/Core/Asset/ResourceDependencyGraph.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceDependencyGraph.h rename to engine/include/XCEngine/Core/Asset/ResourceDependencyGraph.h diff --git a/engine/include/XCEngine/Resources/ResourceHandle.h b/engine/include/XCEngine/Core/Asset/ResourceHandle.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceHandle.h rename to engine/include/XCEngine/Core/Asset/ResourceHandle.h diff --git a/engine/include/XCEngine/Resources/ResourceManager.h b/engine/include/XCEngine/Core/Asset/ResourceManager.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceManager.h rename to engine/include/XCEngine/Core/Asset/ResourceManager.h diff --git a/engine/include/XCEngine/Resources/ResourceTypes.h b/engine/include/XCEngine/Core/Asset/ResourceTypes.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceTypes.h rename to engine/include/XCEngine/Core/Asset/ResourceTypes.h diff --git a/engine/include/XCEngine/Resources/FileArchive.h b/engine/include/XCEngine/Core/IO/FileArchive.h similarity index 100% rename from engine/include/XCEngine/Resources/FileArchive.h rename to engine/include/XCEngine/Core/IO/FileArchive.h diff --git a/engine/include/XCEngine/Resources/IResourceLoader.h b/engine/include/XCEngine/Core/IO/IResourceLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/IResourceLoader.h rename to engine/include/XCEngine/Core/IO/IResourceLoader.h diff --git a/engine/include/XCEngine/Resources/ResourceFileSystem.h b/engine/include/XCEngine/Core/IO/ResourceFileSystem.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourceFileSystem.h rename to engine/include/XCEngine/Core/IO/ResourceFileSystem.h diff --git a/engine/include/XCEngine/Resources/ResourcePackage.h b/engine/include/XCEngine/Core/IO/ResourcePackage.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourcePackage.h rename to engine/include/XCEngine/Core/IO/ResourcePackage.h diff --git a/engine/include/XCEngine/Resources/ResourcePath.h b/engine/include/XCEngine/Core/IO/ResourcePath.h similarity index 100% rename from engine/include/XCEngine/Resources/ResourcePath.h rename to engine/include/XCEngine/Core/IO/ResourcePath.h diff --git a/engine/include/XCEngine/Resources/AudioClip.h b/engine/include/XCEngine/Resources/AudioClip/AudioClip.h similarity index 100% rename from engine/include/XCEngine/Resources/AudioClip.h rename to engine/include/XCEngine/Resources/AudioClip/AudioClip.h diff --git a/engine/include/XCEngine/Resources/AudioLoader.h b/engine/include/XCEngine/Resources/AudioClip/AudioLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/AudioLoader.h rename to engine/include/XCEngine/Resources/AudioClip/AudioLoader.h diff --git a/engine/include/XCEngine/Resources/Material.h b/engine/include/XCEngine/Resources/Material/Material.h similarity index 100% rename from engine/include/XCEngine/Resources/Material.h rename to engine/include/XCEngine/Resources/Material/Material.h diff --git a/engine/include/XCEngine/Resources/MaterialLoader.h b/engine/include/XCEngine/Resources/Material/MaterialLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/MaterialLoader.h rename to engine/include/XCEngine/Resources/Material/MaterialLoader.h diff --git a/engine/include/XCEngine/Resources/Mesh.h b/engine/include/XCEngine/Resources/Mesh/Mesh.h similarity index 100% rename from engine/include/XCEngine/Resources/Mesh.h rename to engine/include/XCEngine/Resources/Mesh/Mesh.h diff --git a/engine/include/XCEngine/Resources/MeshImportSettings.h b/engine/include/XCEngine/Resources/Mesh/MeshImportSettings.h similarity index 100% rename from engine/include/XCEngine/Resources/MeshImportSettings.h rename to engine/include/XCEngine/Resources/Mesh/MeshImportSettings.h diff --git a/engine/include/XCEngine/Resources/MeshLoader.h b/engine/include/XCEngine/Resources/Mesh/MeshLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/MeshLoader.h rename to engine/include/XCEngine/Resources/Mesh/MeshLoader.h diff --git a/engine/include/XCEngine/Resources/Shader.h b/engine/include/XCEngine/Resources/Shader/Shader.h similarity index 100% rename from engine/include/XCEngine/Resources/Shader.h rename to engine/include/XCEngine/Resources/Shader/Shader.h diff --git a/engine/include/XCEngine/Resources/ShaderLoader.h b/engine/include/XCEngine/Resources/Shader/ShaderLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/ShaderLoader.h rename to engine/include/XCEngine/Resources/Shader/ShaderLoader.h diff --git a/engine/include/XCEngine/Resources/Texture.h b/engine/include/XCEngine/Resources/Texture/Texture.h similarity index 100% rename from engine/include/XCEngine/Resources/Texture.h rename to engine/include/XCEngine/Resources/Texture/Texture.h diff --git a/engine/include/XCEngine/Resources/TextureImportSettings.h b/engine/include/XCEngine/Resources/Texture/TextureImportSettings.h similarity index 100% rename from engine/include/XCEngine/Resources/TextureImportSettings.h rename to engine/include/XCEngine/Resources/Texture/TextureImportSettings.h diff --git a/engine/include/XCEngine/Resources/TextureLoader.h b/engine/include/XCEngine/Resources/Texture/TextureLoader.h similarity index 100% rename from engine/include/XCEngine/Resources/TextureLoader.h rename to engine/include/XCEngine/Resources/Texture/TextureLoader.h diff --git a/engine/src/Resources/AsyncLoader.cpp b/engine/src/Core/Asset/AsyncLoader.cpp similarity index 100% rename from engine/src/Resources/AsyncLoader.cpp rename to engine/src/Core/Asset/AsyncLoader.cpp diff --git a/engine/src/Resources/ResourceCache.cpp b/engine/src/Core/Asset/ResourceCache.cpp similarity index 100% rename from engine/src/Resources/ResourceCache.cpp rename to engine/src/Core/Asset/ResourceCache.cpp diff --git a/engine/src/Resources/ResourceDependencyGraph.cpp b/engine/src/Core/Asset/ResourceDependencyGraph.cpp similarity index 100% rename from engine/src/Resources/ResourceDependencyGraph.cpp rename to engine/src/Core/Asset/ResourceDependencyGraph.cpp diff --git a/engine/src/Resources/ResourceManager.cpp b/engine/src/Core/Asset/ResourceManager.cpp similarity index 100% rename from engine/src/Resources/ResourceManager.cpp rename to engine/src/Core/Asset/ResourceManager.cpp diff --git a/engine/src/Resources/ResourceTypes.cpp b/engine/src/Core/Asset/ResourceTypes.cpp similarity index 100% rename from engine/src/Resources/ResourceTypes.cpp rename to engine/src/Core/Asset/ResourceTypes.cpp diff --git a/engine/src/Resources/FileArchive.cpp b/engine/src/Core/IO/FileArchive.cpp similarity index 100% rename from engine/src/Resources/FileArchive.cpp rename to engine/src/Core/IO/FileArchive.cpp diff --git a/engine/src/Resources/IResourceLoader.cpp b/engine/src/Core/IO/IResourceLoader.cpp similarity index 100% rename from engine/src/Resources/IResourceLoader.cpp rename to engine/src/Core/IO/IResourceLoader.cpp diff --git a/engine/src/Resources/ResourceFileSystem.cpp b/engine/src/Core/IO/ResourceFileSystem.cpp similarity index 100% rename from engine/src/Resources/ResourceFileSystem.cpp rename to engine/src/Core/IO/ResourceFileSystem.cpp diff --git a/engine/src/Resources/ResourcePackage.cpp b/engine/src/Core/IO/ResourcePackage.cpp similarity index 100% rename from engine/src/Resources/ResourcePackage.cpp rename to engine/src/Core/IO/ResourcePackage.cpp diff --git a/engine/src/Resources/ResourcePath.cpp b/engine/src/Core/IO/ResourcePath.cpp similarity index 100% rename from engine/src/Resources/ResourcePath.cpp rename to engine/src/Core/IO/ResourcePath.cpp diff --git a/engine/src/Resources/AudioClip.cpp b/engine/src/Resources/AudioClip/AudioClip.cpp similarity index 100% rename from engine/src/Resources/AudioClip.cpp rename to engine/src/Resources/AudioClip/AudioClip.cpp diff --git a/engine/src/Resources/AudioLoader.cpp b/engine/src/Resources/AudioClip/AudioLoader.cpp similarity index 100% rename from engine/src/Resources/AudioLoader.cpp rename to engine/src/Resources/AudioClip/AudioLoader.cpp diff --git a/engine/src/Resources/Material.cpp b/engine/src/Resources/Material/Material.cpp similarity index 100% rename from engine/src/Resources/Material.cpp rename to engine/src/Resources/Material/Material.cpp diff --git a/engine/src/Resources/MaterialLoader.cpp b/engine/src/Resources/Material/MaterialLoader.cpp similarity index 100% rename from engine/src/Resources/MaterialLoader.cpp rename to engine/src/Resources/Material/MaterialLoader.cpp diff --git a/engine/src/Resources/Mesh.cpp b/engine/src/Resources/Mesh/Mesh.cpp similarity index 100% rename from engine/src/Resources/Mesh.cpp rename to engine/src/Resources/Mesh/Mesh.cpp diff --git a/engine/src/Resources/MeshImportSettings.cpp b/engine/src/Resources/Mesh/MeshImportSettings.cpp similarity index 100% rename from engine/src/Resources/MeshImportSettings.cpp rename to engine/src/Resources/Mesh/MeshImportSettings.cpp diff --git a/engine/src/Resources/MeshLoader.cpp b/engine/src/Resources/Mesh/MeshLoader.cpp similarity index 100% rename from engine/src/Resources/MeshLoader.cpp rename to engine/src/Resources/Mesh/MeshLoader.cpp diff --git a/engine/src/Resources/Shader.cpp b/engine/src/Resources/Shader/Shader.cpp similarity index 100% rename from engine/src/Resources/Shader.cpp rename to engine/src/Resources/Shader/Shader.cpp diff --git a/engine/src/Resources/ShaderLoader.cpp b/engine/src/Resources/Shader/ShaderLoader.cpp similarity index 100% rename from engine/src/Resources/ShaderLoader.cpp rename to engine/src/Resources/Shader/ShaderLoader.cpp diff --git a/engine/src/Resources/Texture.cpp b/engine/src/Resources/Texture/Texture.cpp similarity index 100% rename from engine/src/Resources/Texture.cpp rename to engine/src/Resources/Texture/Texture.cpp diff --git a/engine/src/Resources/TextureImportSettings.cpp b/engine/src/Resources/Texture/TextureImportSettings.cpp similarity index 100% rename from engine/src/Resources/TextureImportSettings.cpp rename to engine/src/Resources/Texture/TextureImportSettings.cpp diff --git a/engine/src/Resources/TextureLoader.cpp b/engine/src/Resources/Texture/TextureLoader.cpp similarity index 100% rename from engine/src/Resources/TextureLoader.cpp rename to engine/src/Resources/Texture/TextureLoader.cpp