Level Decorator / Environment Artist

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

200

HOURS PER WEEK

32

DATE UPDATED

Jul 28, 2026

JOB OVERVIEW

Role
Dress modular dungeon tiles so they feel like a real place — dark, readable, and worth exploring — not empty greybox corridors.

You’ll work in Unity on modular dungeon tile prefabs (rooms, halls, junctions, boss/end rooms) using an existing medieval/fantasy prop and material library. Layout and doorway rules stay intact; your job is atmosphere, composition, and player-facing polish.

What you’ll do
-Decorate corridor and room tiles with props, set dressing, and visual landmarks
-Place and tune lighting for mood and gameplay readability (silhouette, threat, pathing)
-Keep navigation clear: no blocking walkable space, doorways, or combat space
-Match a consistent dark-fantasy look across a full tile set (start, corridors, room tiers, unique/secret, boss)
-Iterate from reference screenshots and playtests until tiles feel shippable
-Package work as clean prefab edits that hold up when tiles are assembled into generated dungeons

Must-have skills
-Strong environment / level dressing taste (composition, silhouette, storytelling through props)
-Comfortable in the Unity Editor (prefabs, hierarchy, transforms, lighting)
-Experience with modular kits (tile-based or kitbash environments)
-Eye for performance: don’t over-prop; respect draw calls and collision
-Can take art direction and ship on a schedule

Nice to have
-DunGen, ProBuilder, or similar modular dungeon tools
-Baked / mixed lighting in Unity
-Dark fantasy, Souls-like, or dungeon-crawler portfolio pieces
-Basic understanding of gameplay blockers (NavMesh, triggers, spawn points)

Deliverables
-Decorated tile prefabs ready for dungeon generation
-Before/after screenshots (overview + player eye-level)
-Short notes on any collision, lighting, or doorway constraints you hit


Fit
Contract / freelance preferred. Remote. You’ll collaborate with a small team that already has systems, combat, and art packs in place — we need someone who makes the world look alive for players.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0182
Total Execution Time  0.0195
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,481,584 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Level-Decorator-Environment-Artist-1696757
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0122 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1696757
 LIMIT 1 
0.0011   SELECT *
FROM `employers`
WHERE `employer_id` = 616453
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1696757
AND `misc`.`idIS NULL 
0.0002   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1696757
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-08',ej.date_added) duration_daysDATEDIFF('2026-08-08',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1696757' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1696757 
0.0002   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1696757
AND `misc`.`idIS NULL 
0.0006   UPDATE employer_jobs SET hit_counts '***Jul-28-2026=199***Jul-29-2026=11***Jul-30-2026=10***Jul-31-2026=7***Aug-01-2026=5***Aug-02-2026=3***Aug-03-2026=10***Aug-08-2026=1' WHERE job_id'1696757'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jul-2026=227***Aug-2026=19' WHERE job_id'1696757'  
0.0028   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1696757' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1696757 
0.0033   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '616453'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)