From 910d1e3133f2575a92cdfc496aa7ba32898b7c5fd90d01339f9bc79f275ff60b Mon Sep 17 00:00:00 2001 From: Basemash <> Date: Wed, 22 Apr 2026 18:42:15 +0200 Subject: [PATCH] Initial commit --- .gitattributes | 201 +++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 90 ++++++++++++++++++++++ README.md | 3 + 3 files changed, 294 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4ccca42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,201 @@ +# ============================================================ +# Line endings +# ============================================================ +* text=auto + +# Force CRLF for Windows-only +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf +*.sln text eol=crlf + +# Force LF for cross-platform scripts +*.sh text eol=lf + +# Explicit text (auto catches them, but keeps diffs clean) +*.cpp text +*.c text +*.h text +*.hpp text +*.cs text +*.ini text +*.uproject text +*.uplugin text +*.json text +*.xml text +*.md text +*.yaml text +*.yml text +*.svg text +*.gltf text + +# ============================================================ +# Git LFS - UE runtime binary assets (globalno) +# Extension je ovde jednoznacan: samo UE engine proizvodi ove fajlove. +# ============================================================ +*.uasset filter=lfs diff=lfs merge=lfs -text +*.umap filter=lfs diff=lfs merge=lfs -text +*.uexp filter=lfs diff=lfs merge=lfs -text +*.ubulk filter=lfs diff=lfs merge=lfs -text +*.uptnl filter=lfs diff=lfs merge=lfs -text +*.ucas filter=lfs diff=lfs merge=lfs -text +*.utoc filter=lfs diff=lfs merge=lfs -text +*.pak filter=lfs diff=lfs merge=lfs -text +*.locres filter=lfs diff=lfs merge=lfs -text + +# ============================================================ +# Fonts - globalno (uvek binarno, nema ambiguity sa docs slikama) +# ============================================================ +*.ttf filter=lfs diff=lfs merge=lfs -text +*.otf filter=lfs diff=lfs merge=lfs -text + +# ============================================================ +# Media / DCC - folder-scoped +# SourceArt/** i RawContent/** su jasno "source asset" lokacije. +# Globalno pravilo po ekstenziji bi hvatalo i docs/screenshot.png, +# README_banner.jpg itd. - ovde to ne zelimo. +# +# Ako tvoj workflow drzi raw source fajlove pored .uasset fajlova +# u Content/, raskomentarisi Content/** blok na dnu. +# ============================================================ + +# ----- Images / Textures ----- +SourceArt/**/*.png filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.jpg filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.jpeg filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.gif filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.bmp filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.tga filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.tif filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.tiff filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.exr filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.hdr filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.psd filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.psb filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.ai filter=lfs diff=lfs merge=lfs -text + +RawContent/**/*.png filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.jpg filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.jpeg filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.gif filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.bmp filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.tga filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.tif filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.tiff filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.exr filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.hdr filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.psd filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.psb filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.ai filter=lfs diff=lfs merge=lfs -text + +# ----- 3D / Meshes ----- +SourceArt/**/*.fbx filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.obj filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.3ds filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.max filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.blend filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.dae filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.abc filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.usd filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.usda filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.usdc filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.usdz filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.stl filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.ply filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.glb filter=lfs diff=lfs merge=lfs -text + +RawContent/**/*.fbx filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.obj filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.3ds filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.max filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.blend filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.dae filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.abc filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.usd filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.usda filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.usdc filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.usdz filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.stl filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.ply filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.glb filter=lfs diff=lfs merge=lfs -text + +# ----- Audio ----- +SourceArt/**/*.wav filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.mp3 filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.ogg filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.flac filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.aif filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.aiff filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.m4a filter=lfs diff=lfs merge=lfs -text + +RawContent/**/*.wav filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.mp3 filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.ogg filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.flac filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.aif filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.aiff filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.m4a filter=lfs diff=lfs merge=lfs -text + +# ----- Video ----- +SourceArt/**/*.mp4 filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.mov filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.avi filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.mkv filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.webm filter=lfs diff=lfs merge=lfs -text +SourceArt/**/*.wmv filter=lfs diff=lfs merge=lfs -text + +RawContent/**/*.mp4 filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.mov filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.avi filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.mkv filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.webm filter=lfs diff=lfs merge=lfs -text +RawContent/**/*.wmv filter=lfs diff=lfs merge=lfs -text + +# ============================================================ +# Icons - zadrzano globalno (uvek mali binarni fajlovi) +# ============================================================ +*.ico filter=lfs diff=lfs merge=lfs -text +*.icns filter=lfs diff=lfs merge=lfs -text + +# ============================================================ +# NAPOMENE - sta NIJE u LFS-u i zasto +# ============================================================ +# - *.pdf, *.zip, *.rar, *.7z, *.woff, *.woff2 +# => nisu UE-specificni; ako ti zatrebaju, dodaj folder-scope pravilo +# tamo gde zaista zive, ne globalno. +# - *.svg, *.gltf +# => to su tekst formati (XML / JSON), ostaju kao text u Git-u. +# Za binarni 3D format koristi *.glb (vec je u LFS-u gore). +# - "lockable" atribut nije postavljen jer je to workflow policy, +# ne univerzalni default. Ako tvoj tim koristi LFS locking, dodaj npr.: +# *.uasset filter=lfs diff=lfs merge=lfs -text lockable +# *.umap filter=lfs diff=lfs merge=lfs -text lockable + +# ============================================================ +# Opt-in: Content/** source workflow +# Raskomentarisi ako tvoj projekat drzi raw PNG/WAV/FBX/PSD pored +# importovanih .uasset fajlova u Content/. Ovo je svestan izbor +# workflow-a (neki timovi to rade, neki ne). +# ============================================================ +# Content/**/*.png filter=lfs diff=lfs merge=lfs -text +# Content/**/*.jpg filter=lfs diff=lfs merge=lfs -text +# Content/**/*.jpeg filter=lfs diff=lfs merge=lfs -text +# Content/**/*.tga filter=lfs diff=lfs merge=lfs -text +# Content/**/*.tif filter=lfs diff=lfs merge=lfs -text +# Content/**/*.tiff filter=lfs diff=lfs merge=lfs -text +# Content/**/*.exr filter=lfs diff=lfs merge=lfs -text +# Content/**/*.hdr filter=lfs diff=lfs merge=lfs -text +# Content/**/*.psd filter=lfs diff=lfs merge=lfs -text +# Content/**/*.psb filter=lfs diff=lfs merge=lfs -text +# Content/**/*.wav filter=lfs diff=lfs merge=lfs -text +# Content/**/*.mp3 filter=lfs diff=lfs merge=lfs -text +# Content/**/*.ogg filter=lfs diff=lfs merge=lfs -text +# Content/**/*.flac filter=lfs diff=lfs merge=lfs -text +# Content/**/*.fbx filter=lfs diff=lfs merge=lfs -text +# Content/**/*.obj filter=lfs diff=lfs merge=lfs -text +# Content/**/*.blend filter=lfs diff=lfs merge=lfs -text +# Content/**/*.abc filter=lfs diff=lfs merge=lfs -text +# Content/**/*.usd filter=lfs diff=lfs merge=lfs -text +# Content/**/*.glb filter=lfs diff=lfs merge=lfs -text +# Content/**/*.mp4 filter=lfs diff=lfs merge=lfs -text +# Content/**/*.mov filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6e97f1f --- /dev/null +++ b/.gitignore @@ -0,0 +1,90 @@ +# ===== IDEs / Editors ===== +.vs/ +.vscode/ +.idea/ +.rider/ +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb +*.vcxproj +*.vcxproj.filters +*.vcxproj.user +*.sln.DotSettings.user +*.code-workspace +*.xcodeproj/ +*.xcworkspace/ + +# ===== Root-level generated build files ===== +# UBT generates these at repo root. Root-anchored tako da tools/ ili vendor/ +# sa svojim autorskim build fajlovima ne bude tiho ignorisan. +# Napomena: globalni blok za *.dll/*.lib/*.so/*.a/*.exe itd. je namerno uklonjen. +# UE generisani binary fajlovi su vec pokriveni sa Binaries/ i Intermediate/, +# a globalni ignore za takve ekstenzije bi tiho sakrio legitimne ThirdParty +# prekompajlirane biblioteke. +/Makefile +/CMakeLists.txt +/compile_commands.json + +# ===== UE build output (root + nested plugins) ===== +Binaries/ +Plugins/**/Binaries/ + +Intermediate/ +Plugins/**/Intermediate/ + +DerivedDataCache/ +Plugins/**/DerivedDataCache/ + +Saved/ +Plugins/**/Saved/ + +# ===== Build folder (keep PakBlacklist + icons) ===== +# NAPOMENA: ovo je legacy-compat default. Ako tvoj projekat commit-uje +# dodatne Build/ resurse (Android keystore/signing, iOS provisioning, +# platform manifeste, dodatne icons/resources), dodaj odgovarajuce +# !negacije ispod za svoj workflow. +Build/* +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt +!Build/**/*.ico +Plugins/**/Build/ + +# ===== Per-developer sandbox ===== +Content/Developers/ + +# ===== Baked lighting ===== +# Default je DA se *_BuiltData.uasset commit-uje (preko LFS pravila u .gitattributes) +# jer bez njega baked lighting nestaje kod fresh checkouta. +# Raskomentarisi ako tvoj projekat ne koristi baked/static lighting i ne zelis +# generisane BuiltData fajlove u repou: +# *_BuiltData.uasset + +# ===== Shader cache ===== +Shaders/Cache/ + +# ===== Unreal Insights traces ===== +Trace/ +*.utrace + +# ===== Crash reports ===== +CrashReportClient*/ +*.dmp +*.stackdump + +# ===== OS ===== +.DS_Store +Thumbs.db +desktop.ini +ehthumbs.db +$RECYCLE.BIN/ + +# ===== Temp / backup ===== +*.tmp +*.temp +*.bak +*.old +*~ diff --git a/README.md b/README.md new file mode 100644 index 0000000..dcb2b87 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# ue-template + +UE5 project template with .gitattributes and .gitignore (Git LFS pre-configured) \ No newline at end of file