Scene Object Placement Tool Development for Graphics

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.
Showing 1 of 1 servicesAll 242 services
Scene Object Placement Tool Development for Graphics
Medium
~1-2 weeks
FAQ
Our competencies
What are the stages of Game Development?
Latest works
  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    663
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    859
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    533

Scene Object Placement Tool Development

Level designer for VR project places 300 objects manually via standard Unity Transform gizmo. Each object—position, rotation, scale by hand. Takes two days per room. Not an artist problem—a tool absence problem. Custom Editor Tool reduces this to few hours, developed once for entire project.

What goes into custom placement tool

Unity Editor Tools API (available since 2021.2 via EditorTool base class) lets you create tool with fully custom Handles interface in Scene View. For VR scene object placement, typical feature set:

Snap to surface. Object places on any scene surface via Physics.Raycast from cursor—floor, walls, slopes. Without this, every object needs manual Y adjustment to avoid sinking or floating. Implemented via HandleUtility.GUIPointToWorldRay() + Physics.Raycast() in OnToolGUI() with Undo.RecordObject() for Ctrl+Z support.

Randomized placement. Left-click selects random prefab from set, random rotation in specified range, random scale. For organic scenes—bushes, rocks, debris—tool does what took hours manually.

Grid and radial distribution. Select area—tool distributes objects on grid or circle with specified spacing and random jitter. Useful for regular structures: fence, columns, lamps.

Alignment helpers. Align selected objects on X/Y/Z, distribute with equal spacing between extremes. Standard Unity Align Tools doesn't do this properly.

Implementation via EditorWindow and EditorTool

For complex tools with UI—EditorWindow + SceneView.duringSceneGui callback. Window contains prefab list (rendered via GUILayout with preview via AssetPreview.GetAssetPreview()), randomization settings, mode buttons.

Important for VR projects: tool should account for VR placement specifics. Objects visible from all sides in VR—need auto-collision check "doesn't intersect with others" via Physics.OverlapBox() or Physics.OverlapSphere(). Intersection highlighted in red via Handles.DrawWireCube() directly in Scene View—designer sees conflicts immediately.

State serialization via EditorPrefs for simple settings or ScriptableObject for preset persistence between sessions. Team of three can share presets via VCS.

Case study: NPC placement tool in VR escape room

For one project—8-room escape room—needed interactive object placement tool with auto InteractionZone component assignment. Click surface—object places, auto-adds XRGrabInteractable, sets InteractionLayerMask by object type (grabbable, pressable, turnable), adjusts colliderOffset for VR grip.

Without tool, single interactive object setup took 5–7 minutes manual work in Inspector. With tool—15 seconds. Eight rooms with 40–60 objects each: saves a week of work.

Tool type Estimated development timeline
Basic snap-to-surface placer 2–3 business days
Placer with randomization and presets 4–7 business days
Full level-dressing toolkit 2–4 weeks

Cost is determined after analyzing team workflow and tool functionality requirements.