MOZGIII / ue5-gitignore

A git setup example with git-lfs for Unreal Engine 5 (and 4) projects.
MIT License
575 stars 150 forks source link

Raw Content #1

Closed visualcodex closed 7 years ago

visualcodex commented 7 years ago

Howdy,

First off thank you very much for the info on git files. I'm still getting my feed wet on using GIT for source/revision control on projects.

I'd suggest you keep raw source (Raw content) outside your unreal specific project files. Source like audio, art, meshes, textures, anim, etc are not platform specific. They can be distributed among various projects, platforms, etc Have your Source (art source) live on the same level as your unreal project directory but not embedded in the unreal project directory. Or even above at root. This way your future proof, any new project directories made later, or change to another engine, etc You can safely share and distribute your raw source to any of those directories. Its probably also better to keep a different repo for raw source altogether. I even have a source at utmost top level, that distributes to all my projects. I also have source unique to projects but even that lives at higher directory level. Just so i can reuse and distribute among any project directory. (Small bonus when you keep them outside your unreal project dir you can simply call it source. Instead of raw content.)

Anyway just food for thought. Kind Regards and thank you again, Ing

MOZGIII commented 7 years ago

I would recommend using git submodules and having the shared raw content within the project directory. Rationale is since you're using git for it (and not something like google drive or dropbox) you probably want to use all git features, like branching and stuff. However, the usability of this pattern heavily depends on the workflow you and your team is using. Your proposed solution is certainly good when you're switching engines and is not commited to maintain a directory structure withing a specific project. Though, I would avoid calling any non-code-related directory just Source. Also I guess it is better to still use some king of namespacing for shared content: so that the name is like Shared/RawContent, especially if using it as a toplevel project (on the same directory level as the game projects).

visualcodex commented 7 years ago

I've looked into Git Submodels on your suggestion (and PlasticSCM xlink). And you're quite right that's exactly what I need! This allows to keep RawSource still embedded in the project directory on the same flat level as all the platform/engine specific project directories. I've been analysing source control, directory structure and file naming for the past month now. Especially the source control part, as I am ok with content directory structure and its file naming, though its one thing having source control set up by an IT team, completely another if you need to set up Source Control yourself. :) The name Source for binary assets is indeed a none tamable beast. I agree Source is better reserved for Code. For the base/raw source such as TGA, Meshes, Substances, Zbrush files and what not. So far the best I feel comfortable with is RawSource, as I find Content so inherently connected with Unreal's uassets directory. And Raw source is not specific to Unreal's content/uassets but can be used in any project/platform. Thanks again for the info, it helped getting out of my analysis paralysis. :)