Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

CookieBadger

48
Posts
1
Topics
248
Followers
5
Following
A member registered Aug 09, 2019 · View creator page →

Creator of

Recent community posts

You are welcome, and I am glad you were able to fix your issue. Happy development! :)

Hello denisvergara@outlook.com, did you make sure after adding the plugin to the addon folder to:

- add a new empty C# script, to let Godot know that this is a C# project and show the build button?

- Click the build button (little hammer icon) next to the play button?

I went ahead and tried the plugin again in 4.2.2mono and 4.3rc2mono, and in both versions I was able to install the plugin without problems. I also used the latest .NET version (6.0.424).

Hello denismedia, did you make sure after adding the plugin to the addon folder to:

- add a new empty C# script, to let Godot know that this is a C# project and show the build button?

- Click the build button (little hammer icon) next to the play button?

I went ahead and tried the plugin again in 4.2.2mono and 4.3rc2mono, and in both versions I was able to install the plugin without problems. I also used the latest .NET version (6.0.424).

I am happy to hear that you were able to solve your issue. The warning you get now should not be a problem, and only appear when you open the project. If it annoys you, you can change all instances of "EditorPlugin.GetEditorInterface()" with "EditorInterface". The reason for the obsolete code is backward compatibility with Godot 4.0.

unfortunately, I cannot tell how to fix your issue from this information. Since it happens in a new project, I suspect there might either be a problem with your .NET installation (maybe try upgrading it to a newer version), or with the version of Godot you downloaded (make sure it is the mono version). If the problem persists, you may contact me here so we can try to do some deeper troubleshooting.

Hello Relic, can you try if it gives you the same error if you add the plugin to a new project? Also, can you send me the contents of your .csproj file inside your project, to see if you have any unusual configuration there?

Please also make sure you precisely followed each of the installation steps here:

https://cookiebadger.github.io/assetplacer-docs/installation.html

I wish you best luck for your project! If there is anything else you want to know about my plugin, be sure to let me know :)

(1 edit)

Hello Michael,

1. Your guess is right, you would have to make multiple scenes (using inherited scenes could work very well). However, you can also press Alt+Click to place and select the object, so you can quickly change inspector settings, and SPACE to immediately reselect the asset for another placement, which might also be a fast workflow if you only have to change a few properties.

2. Snapping works at absolute world position, so if your snap step is set to 1 and you are placing on the XZ plane, you can snap at the XZ coordinates (0,0), (0,1), (1,0), (1,1), (0,2), etc. The offset now helps you offset this absolute snap step by a certain amount, so if you want, say, an offset of 0.3 each on X and Z, your objects would be placed at (0.3, 0.3), (1.3, 0.3), (2.3, 0.3), (0.3, 1.3), etc. You can only configure an absolute step, so the offset cannot adapt to what exactly "half the object's width" would be with your current object, but if you only use objects of the same size, then the offset that you can configure should work fine.

I hope this answers your questions!

ohhh, that is very astute, I would have never thought of doing that. Although, I am wondering which C# collection you are using that is worth having all this extra boilerplate code?

Hello! I am not familiar with this plugin, but whether it will work or not depends on whether the plugin adds collisions in the editor. This might or might not be the case.

I'm happy my list helped and you could fix your issues! Yeah, making plugins in C# can be really iffy, you can imagine how long it took me to find all that stuff out. :D

Hello psucram!

I think you would probably be able to write a plugin, or an editor script, that could automatically generate the collisions. You can also manually edit the .import files of your models, which can also save you a lot of time. Other than that, I am afraid I can not help you with this, but I wish you good luck for your project!

Hello AXiON,

That is a strange issue, I never had anything like this happen, also you are right, the plugin should be ignored when running a scene, as none of its scripts are actually contained in any scenes. #if TOOLS to my knowledge should exclude the plugin from the project when you export it, I am unsure about its behavior when running from the editor. I will investigate this further when I have the chance, for now I assume the best workaround in your case is to disable the plugin before running the scene. Sorry for the inconvenience.

(1 edit)

1. yes

2. yes (it will just work)

Happy game making! :)

Unfortunately, the plugin doesn't support MultiMeshInstances yet. I once toyed around with a MultiMesh tool, but the performance gains that I was able to achieve were so minimal, that I temporarily dismissed my progress. My idea was to make an Open Source plugin for combining instances of the same mesh, that would work together with AssetPlacer.

I'm afraid there is no such functionality at the moment, but if you know some programming, it should be possible to make an EditorScript that does what you need.

Are you sure you set the value to the exact size of your modules? If so, could you send me a screenshot such that I can investigate this?

Could you describe this problem more specifically? Please take into account, that floating point numbers cannot represent decimals all precisely, hence if you set some values like 0.3 they might actually get changed to 0.300000004

it is the default metrics (meters), that translate 1:1 to the values in the inspector.

Hello! Try setting the Snapping step value (just above offset). It should do what you are trying to.

Happy designing!

Unfortunately I cannot directly tell where your issue is, from that information. Any of the following might help you:

  • Make sure you followed the installation steps carefully, especially the "build" part (https://cookiebadger.github.io/assetplacer-docs/installation.html). Notice the small build button next to the play button in Godot 4.2.2.
  • If  this does not help, remove the addon, but also remove the "mono" folder inside the ".godot" folder in your projects root directory. Then, add plugin again and build. It should work now.
  • Otherwise, try the plugin in a new project, to see if the issue is related to your project and let me know your findings.

I hope this helps!

Of course, here you go!

https://cookiebadger.github.io/assetplacer-docs/

Great to hear, and sorry that it took so long, these things are hard to figure out sometimes :)

Happy developing!

Ok, since this error is clearly not supposed to happen, may I ask you also tell me the version of .NET, and the contents of your .csproj file? I am not sure, but it may help to go into your project folder, go into the .godot folder and delete the "mono" folder inside. After that, try if recompiling fixes the issue. Please also check if there is only one assetplacer copy in your project, and that it is where it is supposed to be.

Hello @fatoldyeti, may I ask what version of Godot you are running it on?

I do! Just know that I am still a student, and I can only do as much as my time budget affords. This project was originally my Bachelor's Thesis, before I made it into something bigger and more comprehensive. I hope to expand even more on it in the future.

I'm glad you figured it out. Good luck with your project! :)

you are welcome, I am happy that you like it! :)

Hello again,

yes this feature (scattering) has been requested a lot and I might be able to implement it in the future. I would like to ask for your patience, though, since it requires an overhaul of the UI and I need to set a lot of time aside for this endeavor.

(1 edit)

Hello again WungielPolacz, I'm sorry that you had some issues. The problem is that you are using an outdated version of the AssetPlacer that is not compatible with 4.2. Please make sure to get the latest AssetPlacer 1.2.3 and your issues should be fixed.

Of course the plugin does not only help for large open environments, but is very useful for small environments as well, especially if you are using modular assets (e.g. Tile-based dungeon).

(1 edit)

Hey WungielPolacz! The plugin itself should neither have too large of a performance footprint on your development nor should its use be encumbered much when using high-fidelity assets. What you have to take into account though, is that Godot itself  (and other Engines as well) needs to be able to handle all assets that are used. If your scene would, for example, have a thousand realistic trees, that are just instanced as nodes (which the plugin does), you will eventually notice your speed tree to go down, and your frames drop, if you do not take any optimization measures (using LODs, editing with lower viewport resolution, etc.). Hence, if you place an asset that takes a few seconds to instance, than AssetPlacer will be as slow as Godot. If you had no problems using these high-fidelity assets in the quantities you need so far, AssetPlacer should handle them fine. One thing to note, however, is the size of libraries. The more assets, and the more complex they are, the longer loading their thumbnails will take. I recommend having no more than a hundred assets per library. As for surface placement, your objects have to include collisions, as of AssetPlacer 1.2.x.


Regarding the support and updates of the plugin, I can assure you that it will continue, and is in my professional plans for at least this and next year. You have to take into the account, that as of this year, I am still a university student, maintaining this project on the side, and I like to also do not-for-profit work, like contributing to the Engine (I recently worked on Godot's AnimationPlayer) and making free plugins.

I hope this clarifies your doubts, and I could maybe convince you to give AssetPlacer a try! If you have any more questions, please go ahead.

~ CookieBadger

Thank you for your trust and support! 

I hope the plugin will help you greatly!

Hello Banana!

Of course I could try to highlight all the features, but if my plugin is worth your money is ultimately your decision :)

The last update was a compatibility, but I do plan to add more features in the future (many people have requested scattering, for example).

I can't guarantee when these are going to be implemented, but I hope to make some updates this year for sure - just know that I'm a student doing this on the side (and the time around new year's is especially hard with assignments and exams). Actually the plugin was an artifact of my Bachelor's Thesis, but I kept improving and adding to it, until I was confident enough to sell it.

Rest assured, the plugin as is will be made compatible with all Godot 4.x versions in the near future. 

I hope to make more video content as well, I just didn't find time - also the added stuff was not as substantial to justify the effort, but in the meantime you can see it in action a bit in a video a friend made:

https://mastodon.art/@vukbo/111700043306101099

I hope this gave you some insights, if you have any other questions, I'll be here for you ^^

Cheers,

Cookie

Hey, thanks for the suggestion. I guess this is mainly about the folders being in camelCase, right? It's the convention established by Godot, whereas the C# files convention is in PascalCase. Did you actually have to fix some file path strings in  the code?

Hello DistilledNuance!

Thanks for your comments, I take them into account. First of all, you are absolutely correct about the mono version. Then, about the filter system, I'm happy to let you know, that I'll include a basic one in the next version. As to the randomization, I hear this a lot, and so once I'll have the resources available, I'll think of how to implement one.

Best,

(1 edit)

Hello flow!

I'm sorry for the late reply. I think you can fix the error by opening the PreviewRenderingViewport script, replacing line 18 with 

    [Export] private Godot.Environment _environment;

and then removing line 11, that says 

    using Environment = Godot.Environment; 

Don't forget to save and press the "Build" button in the top right corner of Godot afterwards.

Please let me know, if this fixed your issue. I will then include this fix in the next version accordingly.

Hey Taobis, great to hear you got it working! Indeed, pressing the build button should do exactly that, although the button often does not show up the first time you open the project, so thanks for the tip of going through Project -> Tools.

I'm very happy that you like the tool, and I wish you all the best for your creations. I will definitely support it as long as I can.

Cheers

Hey! 

What you are asking for is basically a Scattering tool. I don't know if I will ever integrate one, although it is frequently asked for, reason being that many free alternatives exist, such as SpatialGardener, Zylann's Scatter, ProtonScatter, or the built-in MultiMesh "populate surface" tool. At the moment, I can't achieve the sophistication of SpatialGardener if I tried tried to integrate something similar, so I advocate for using a different tool, instead of waiting for AssetPlacer to provide the functionality.

I hope this helps!