
Unity Workshop: GameObjects, Prefabs, Scripts, Builds, and Inspector Gremlins
Welcome to Game Dev → Unity — the Fyrbloc place for Unity projects, prototypes, C# scripts, prefabs, scenes, physics, UI, animations, builds, mobile exports, asset issues, performance problems, and that classic moment when the bug was caused by one missing reference in the Inspector.
Unity is powerful.
It can make:
2D games
3D games
Mobile games
PC games
VR/AR projects
RPGs
Platformers
Shooters
Puzzle games
Simulators
Multiplayer prototypes
Tools
Game jams
Playable demos
It can also make you stare at a NullReferenceException for 40 minutes before realising you forgot to drag the object into a slot.
That is not failure.
That is Unity culture.

What belongs here?
Use Game Dev → Unity for topics like:
- Unity 2D
- Unity 3D
- C# scripting
- GameObjects
- Components
- Prefabs
- Scenes
- Rigidbody physics
- Colliders
- Character controllers
- Cameras
- Cinemachine
- UI Toolkit
- Canvas UI
- Input System
- Animation
- Animator Controller
- Timeline
- NavMesh
- Enemy AI
- Inventory systems
- Dialogue systems
- Save/load
- Mobile builds
- WebGL builds
- Windows/macOS/Linux builds
- Android/iOS export issues
- Asset Store packages
- Performance
- Lighting
- Materials
- Build errors
- “Why is the object invisible but still blocking the player?” investigations
If your Unity project is building, breaking, exporting, freezing, lagging, or screaming in the Console, post it here.
Unity project template
Copy this when sharing your Unity project:
Project name:
Unity version:
Game type:
2D / 3D / mobile / PC / RPG / platformer / puzzle / other
What I am building:
Current stage:
What works now:
What is broken:
What I need help with:
Main systems:
Input/controls:
Target platform:
Packages/assets used:
Screenshots/video:
Build/play link:
Example:
Project name:
Tiny Dungeon Runner
Unity version:
Unity 2022 LTS / Unity 6 / other
Game type:
3D dungeon prototype
What I am building:
A small dungeon game where the player explores rooms, fights enemies, collects keys, and unlocks doors.
Current stage:
Playable prototype.
What works now:
Player movement, camera follow, basic enemy chase, key pickup, and one test level.
What is broken:
Enemy gets stuck near door frames and the camera clips through walls.
What I need help with:
NavMesh setup, camera collision, and level flow feedback.
Main systems:
Movement, enemy AI, pickups, doors, health, UI.
Input/controls:
WASD to move, mouse to look, E to interact.
Target platform:
Windows PC.
Packages/assets used:
Cinemachine, prototype assets, free sound effects.
Screenshots/video:
Added below.
Build/play link:
Coming soon.
That gives people enough context to help.
Much better than:
Unity is broken.
Unity might be broken.
But there is a high chance one object is just not assigned.
The Inspector has entered the chat.

Unity help template
Use this when asking for help:
Unity issue:
Unity version:
2D or 3D:
Platform:
Editor / Windows build / Android / iOS / WebGL / other
What I expected:
What happened:
Exact Console error:
Scene/GameObject involved:
Script involved:
Inspector references checked:
Yes / No
What I already tried:
Screenshot/video:
Example:
Unity issue:
Player cannot pick up coins.
Unity version:
Unity 2022 LTS
2D or 3D:
2D
Platform:
Editor
What I expected:
Coin disappears and score increases when player touches it.
What happened:
Player walks through coin but nothing happens.
Exact Console error:
No error.
Scene/GameObject involved:
Player and Coin prefab.
Script involved:
CoinPickup.cs
Inspector references checked:
Yes
What I already tried:
Checked collider, trigger setting, and tag name.
Screenshot/video:
Added below.
Good Unity posts show:
Version
Scene
Object
Script
Console error
Inspector setup
That is where most answers hide.
Usually behind one checkbox.
Suspicious little checkbox.
Common Unity problems
1. NullReferenceException
Classic Unity error:
NullReferenceException: Object reference not set to an instance of an object
Common causes:
Inspector reference not assigned
Object not found
Script runs before object exists
Prefab missing component
Wrong tag/name
Destroyed object still being used
Useful checks:
Did I drag the object into the Inspector field?
Does the object exist in the scene?
Does the prefab have the needed component?
Is the script on the correct GameObject?
Is the object being destroyed before use?
Example safe check:
if (target == null)
{
Debug.LogWarning("Target is not assigned.");
return;
}
A null reference is not Unity being mysterious.
It is Unity saying:
You told me to use a thing. The thing is not there.
Very honest.
Very annoying.
2. Collision not working
Check:
Collider exists
Rigidbody exists where needed
Is Trigger setting correct
Layer collision matrix
Object tags
2D vs 3D physics mismatch
Script method name correct
Object is active
Important:
2D physics and 3D physics are separate.
This will not work for 2D:
void OnTriggerEnter(Collider other)
For 2D, use:
void OnTriggerEnter2D(Collider2D other)
Unity will not mix them for you.
Unity is not a bartender.
3. Object moves weirdly
Movement issues can come from:
Using Update instead of FixedUpdate for physics
Moving Rigidbody with transform.position
Forces too high
Mass/drag settings wrong
Gravity scale wrong
Collider shape wrong
Input multiplied incorrectly
Delta time missing
For Rigidbody movement, explain:
Are you moving with transform?
Are you using Rigidbody?
Are you using CharacterController?
Is this 2D or 3D?
Movement bugs are easier when people know how the player is being moved.
“Player feels like a shopping trolley on ice” is useful feedback.
But show the code too.

C# script help
When posting C# code, include:
What GameObject the script is attached to
Inspector fields
Expected behaviour
Actual behaviour
Exact Console error
Unity version
Example:
using UnityEngine;
public class CoinPickup : MonoBehaviour
{
public int value = 1;
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
Debug.Log("Coin picked up");
Destroy(gameObject);
}
}
}
Then explain:
This script is attached to the Coin prefab.
Coin has CircleCollider2D with Is Trigger enabled.
Player has Rigidbody2D and tag Player.
Expected: coin disappears.
Actual: nothing happens.
That is clear.
Bad:
My script does not work.
That is not a bug report.
That is a small cry for help in a dark prefab folder.
Inspector reference checklist
Before posting, check:
Are public fields assigned?
Are serialized private fields assigned?
Is the script on the correct GameObject?
Is the prefab updated?
Is the scene using the correct prefab?
Is the object active?
Is the component enabled?
Is the tag correct?
Is the layer correct?
Common field:
[SerializeField] private Transform target;
If target is empty in the Inspector, the script cannot use it.
Unity will not politely guess.
It will wait until play mode.
Then it will scream in red.
Prefab problems
Prefabs are powerful.
Prefabs are also excellent at confusing people.
Common prefab issues:
Edited scene object but not prefab
Edited prefab but scene uses old variant
Missing references after moving assets
Nested prefab confusion
Prefab override not applied
Wrong prefab spawned
Prefab has missing script
When asking for prefab help, include:
Prefab name
Scene object name
What you edited
Whether overrides are applied
Missing reference warning
Screenshot of Inspector
Prefab bugs often happen because you fixed the wrong copy.
There is the prefab.
There is the scene instance.
There is the variant.
There is the old backup prefab named Enemy_final_REAL.
Good luck.

Input System posts
Unity has the old Input Manager and the newer Input System.
When asking input questions, include:
Input system used:
Old Input Manager / New Input System
Control type:
Keyboard / mouse / controller / mobile touch
Problem:
Input not detected / double input / mobile issue / rebinding issue
Script involved:
Good example:
Input system:
New Input System
Problem:
Jump works on keyboard but not controller.
Expected:
A button should trigger jump.
Actual:
Only Space works.
What I tried:
Checked input action binding and PlayerInput component.
Input issues are usually setup issues.
Sometimes code.
Sometimes the controller quietly judging your bindings.
Camera problems
Camera topics can include:
Follow camera
Top-down camera
Third-person camera
First-person camera
Cinemachine
Camera clipping
Camera shake
Camera bounds
Split screen
UI camera
Useful camera context:
Camera type:
Main camera / Cinemachine virtual camera / custom script
Target:
Player / object / group
Problem:
Jitter / clipping / wrong angle / not following / too zoomed
Common fixes:
Move camera follow to LateUpdate
Use Cinemachine
Check target assignment
Adjust clipping planes
Check collision/body settings
Check update method
Camera bugs are important.
Bad camera can make a good game feel like it was filmed by a nervous pigeon.
UI and Canvas posts
Unity UI issues should include:
Canvas mode
Screen resolution
Anchor setup
Canvas scaler settings
Target platform
Screenshot
What looks wrong
Common UI problems:
Buttons not clickable
Text too small
UI not scaling
Panel off-screen
Canvas blocking clicks
EventSystem missing
Wrong anchors
Mobile layout broken
If buttons do not click, check:
EventSystem exists
Button has Image/Raycast Target if needed
Canvas has GraphicRaycaster
No invisible UI is blocking it
Correct camera assigned if needed
Invisible UI blocking clicks is peak Unity.
A ghost panel with a full-time job.

Animation and Animator posts
For animation problems, include:
Animator or Animation?
2D or 3D?
Animation states
Transitions
Parameters
Script setting parameters
What should play
What actually plays
Common animation problems:
Wrong transition condition
Has Exit Time issue
Animation loops unexpectedly
Parameter name typo
Animator not assigned
Object disabled
State transitions too fast
Root motion enabled/disabled wrongly
Example:
Animation issue:
Attack animation instantly returns to idle.
Expected:
Attack finishes before idle resumes.
Actual:
Idle interrupts attack.
Setup:
Animator with Idle, Run, Attack states. Bool parameter isAttacking.
What I tried:
Changed transition duration and exit time.
Animator problems often live in tiny transition settings.
Tiny settings.
Huge drama.
NavMesh and enemy AI posts
For NavMesh issues, include:
2D or 3D
NavMesh baked?
Agent settings
Obstacle setup
Target assignment
Enemy behaviour
Scene screenshot
Error/warning
Common problems:
NavMesh not baked
Agent not on NavMesh
Target is null
Obstacle blocks path
Agent radius too large
Enemy stuck at doorway
Wrong layer included/excluded
Enemy AI template:
Enemy type:
Behaviour:
Detection range:
Chase rules:
Attack rules:
Return/patrol rules:
Problem:
Enemies are simple until they need to walk around a chair.
Then they become philosophers.
Save/load posts
Save systems need care.
When asking for save help, include:
What needs saving
Save method
Platform
File path
Data format
What saves correctly
What fails
Error message
Common save data:
Player position
Health
Inventory
Unlocked levels
Quest progress
Settings
Currency
High score
Common problems:
Wrong file path
Data overwritten
JSON not serialising correctly
Object references cannot save directly
Old save incompatible with new version
Mobile permissions/path issue
Do not wait until the end of the project to add saving.
Players forgive many bugs.
Lost progress is not one of them.
Lost progress creates villains.

Build/export problems
Unity build posts should include:
Unity version
Target platform
Build type
Exact error
Does it work in Editor?
Does it work in Development Build?
Packages used
Recent changes
Common build targets:
Windows
macOS
Linux
Android
iOS
WebGL
Common build issues:
Missing SDK
Wrong build platform
Package conflict
Script compile error
Android signing issue
iOS certificate issue
WebGL memory issue
Scene not added to Build Settings
Missing asset/reference
Platform-specific code error
If the game works in Editor but not in build, say that.
That detail matters.
The Editor is not the final world.
It is the rehearsal room with nicer lighting.
WebGL issues
For WebGL problems, include:
Unity version
Browser
Hosting
Console error
Build settings
Compression setting
Memory issue
Does local build work?
Common WebGL problems:
Wrong MIME types
Compression not served correctly
Memory too high
Browser console error
Files not uploaded correctly
Mobile browser unsupported/slow
Large build size
WebGL builds need hosting configured correctly.
If the browser refuses to load .wasm or compressed files, Unity may be innocent.
The server might be wearing the villain hat.
Mobile build issues
For Android/iOS, include:
Unity version
Target OS
Device model
Build error
SDK/NDK/JDK status
Input method
Performance problem
Crash log if available
Common mobile problems:
Wrong SDK setup
Touch controls broken
UI scaling bad
Performance too heavy
Texture size too large
Build signing issue
Permissions missing
App crashes on launch
Mobile is less forgiving.
A desktop can brute-force messy scenes.
A phone will simply heat up, drop frames, and reconsider your life choices.
Optimise early.

Performance posts
For performance issues, include:
Unity version
Platform
FPS
Scene size
Object count
Lights/shadows
Post-processing
Particles
Physics objects
Profiler screenshot if possible
What causes lag
Common causes:
Too many active objects
Too many lights
Expensive shadows
Large textures
Too many particles
Heavy Update loops
Garbage collection spikes
Unbatched materials
Physics overload
Poor mobile optimisation
Useful checks:
Profiler
Frame Debugger
Stats window
Build test
Disable systems one by one
Check scripts running every frame
If your scene has 600 enemies, 90 lights, live reflections, and a waterfall made of particles, the problem may not be mysterious.
It may be ambition with no budget.
Asset Store package issues
When asking about packages, include:
Package name
Version
Unity version
Error message
Import method
Dependencies
What broke after install
Common issues:
Package built for older Unity version
Missing dependencies
Namespace conflict
Render pipeline mismatch
URP/HDRP/Built-in issue
Duplicate scripts
Input system mismatch
Render pipeline matters.
An asset made for Built-in may not look correct in URP or HDRP without changes.
This is not always your fault.
Sometimes the asset just arrived from another universe.
Good Unity post titles
Use clear titles like:
Unity 2D: OnTriggerEnter2D not firing for coin pickup
NullReferenceException after spawning enemy prefab
Unity WebGL build loads black screen on hosting
Cinemachine camera jitters when following player
Android build fails after installing package
Need feedback: 3D dungeon prototype movement and camera
Avoid:
Unity help
Broken
Why does this happen
Question
Those titles need more information.
A clear title gets better replies.
A vague title gets people asking for the Console error first.
Every time.

Good replies in Unity threads
Helpful replies:
Check whether the field is assigned in the Inspector.
For 2D physics, use OnTriggerEnter2D and Collider2D, not the 3D versions.
If the build is black screen in WebGL, check browser console and hosting MIME types.
The enemy may not be on the NavMesh. Check bake and agent position.
Camera jitter often improves if follow movement happens in LateUpdate or Cinemachine settings are adjusted.
Less useful replies:
Use Unreal.
Use Godot.
Unity is bad.
Just remake it.
No.
This is the Unity section.
Help with Unity.
Engine wars can go touch grass and reflect.
Unity feedback checklist
When asking for feedback, choose a focus:
Movement
Camera
Combat
Level design
UI
Controls
Performance
Build/export
Animation
Enemy AI
Physics
Mobile feel
WebGL loading
Game loop
Difficulty
Better:
I need feedback on camera feel and enemy movement.
Worse:
Any thoughts?
“Any thoughts?” often gets:
Looks good.
That is kind.
But it does not fix the camera clipping through the wall like a ghost with admin access.
Ask focused questions.
Unity playtest template
Use this when asking for testers:
Playtest name:
Unity version:
Build version:
Platform:
What to test:
Controls:
How long it takes:
Known bugs:
Feedback questions:
Download/play link:
Bug report format:
Example:
Playtest name:
Dungeon Movement Test
Unity version:
Unity 2022 LTS
Build version:
0.1
Platform:
Windows
What to test:
Movement, camera, coin pickup, and enemy chase.
Controls:
WASD move, mouse look, E interact.
How long it takes:
5 minutes.
Known bugs:
Camera clips through one wall near the stairs.
Feedback questions:
Does movement feel smooth?
Is the camera too close?
Is enemy chase too fast?
Download/play link:
Added below.
Bug report format:
Screenshot/video, what happened, steps to reproduce.
Small playtests are better.
Do not ask testers to review the whole game, the story, the combat, the UI, the monetisation, the weather system, and the emotional arc of the main menu in one go.
Pick targets.

Unity safety notes
When sharing projects, code, or assets, do not post:
Paid assets you cannot redistribute
License keys
Private server URLs
API keys
Personal data
Account tokens
Private builds not meant for public
Unlicensed ripped assets
Mention asset status:
Original
Placeholder
Licensed
Asset Store package
Public domain
AI-generated
Temporary
Purchased
Free asset pack
“Found online” is not a licence.
That phrase has weak bones.
Do not build your project on weak bones.
Quick Unity starter format
Use this:
Unity post:
Project:
Unity version:
2D or 3D:
Current stage:
What works:
Problem/question:
Console error:
Feedback wanted:
Screenshots/video:
Example:
Unity post:
Testing 2D coin pickup and player movement.
Project:
Tiny Platform Quest
Unity version:
Unity 2022 LTS
2D or 3D:
2D
Current stage:
Early prototype.
What works:
Player moves and jumps.
Problem/question:
Coin pickup does not trigger.
Console error:
No error.
Feedback wanted:
Collider/trigger setup and script check.
Screenshots/video:
Added below.
Clean.
Useful.
Debuggable.
No Inspector fog.
Final note
Unity is excellent for builders who want a flexible engine with strong tools, wide platform support, and a huge ecosystem.
But good Unity development still needs structure:
Clear scenes
Clean prefabs
Assigned Inspector references
Useful Console errors
Small scripts
Version control
Backups
Focused playtests
Performance checks
Safe builds
Start small.
Make one system work.
Test it.
Prefab it properly.
Then add the next system.
Do not build a giant RPG, crafting system, weather cycle, multiplayer lobby, and cinematic intro before the player can pick up a coin.
The coin is the first boss.
Build. Inspect. Script. Test. Prefab. Ship.